<template>
  <div class="pagestyle">
      <div v-if="state.datatree.length ==0 && !state.addShowTtation">
          <p class="tree_title">
              <span class="fw700">分站以及测点配置</span>
          </p>
          <div style="text-align: center;">
              <img src="@/assets/images/nodata.png" alt="" />
              <p>暂无数据，请先配置分站</p>
              <el-button plain type="info" @click="addstationBtn">新增分站</el-button>
          </div>
      </div>
      <el-card v-if="state.addShowTtation || state.datatree.length>0">
          <el-row :gutter="20" style="overflow-y: auto;">
              <!-- 左侧树形 -->
              <el-col :span="5">
                  <div class="p10" style="height: calc(100vh - 190px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="tree_title">
                              <span>分站以及测点配置</span>
                          </p>
                          <el-button type="primary" class="w100" style="margin-bottom:10px;" @click="addstationBtn">
                              <el-icon>
                                  <Plus />
                              </el-icon>新增分站
                          </el-button>
                          <el-input clearable v-model="state.treeSearch" @blur="treeSearchBlur" placeholder="模糊搜索">
                              <template #prefix>
                                  <el-icon class="el-input__icon">
                                      <search />
                                  </el-icon>
                              </template>
                          </el-input>
                      </div>
                      <el-tree ref="pointtree" :data="state.datatree" :props="state.defaultProps"
                          :highlight-current="true" node-key="value" @node-click="handleNodeClick"
                          style="margin-top: 20px;" class="custom-tree" :current-node-key="state.curTreeId"
                          :default-expanded-keys="state.defaultExpandedNodes" accordion
                          :filter-node-method="filterNode">
                          <template #default="{ node, data }">
                              <span class="custom-tree-node fsc"
                                  style="width: 100%;display: flex;justify-content: space-between;"
                                  @mouseenter="mouseenter(data)" @mouseleave="mouseleave(data)">
                                  <span>
                                      <svg-icon v-if="data.children" class-name="search-icon" icon-class="wenjian"
                                          style="margin-right: 5px;" />
                                      <span><span class="b" :class="{'blue':node.data.pointTypeName=='普通',
                                         'red': node.data.pointTypeName=='虚拟','zi':node.data.pointTypeName=='多参'}">
                                              {{ node.data.pointTypeName }}</span>
                                          <span v-if="node.data.controlPort"><span
                                                  class="b grey">{{ node.data.controlPort }}</span>
                                              <span v-if="node.data.controlPortType == null"
                                                  @click="addopenClickright(node.parent.parent.data.value)">
                                                  <svg-icon class-name="search-icon" icon-class="addtotal" />
                                                  <el-button type="primary" link>添加</el-button>
                                              </span>
                                          </span>


                                          <span v-if="node.data.controlPortType!=null&&node.data.controlPort">
                                              <el-tooltip class="box-item" effect="light"
                                                  :content="node.data.id+'/'+node.data.controlPortTypeName+'/'+node.data.pointPlaceName"
                                                  placement="right">
                                                  {{ node.data.id }}/{{ node.data.controlPortTypeName }}/{{ node.data.pointPlaceName }}
                                              </el-tooltip>
                                          </span>
                                          <!-- <span
                                              v-if="node.data.controlPortTypeName!=''&&node.data.controlPort">{{ node.data.controlPortTypeName }}/</span>
                                          <span
                                              v-if="node.data.pointPlaceName!=null">{{ node.data.pointPlaceName }}</span> -->
                                          <el-tooltip class="box-item" effect="light" :content="node.label"
                                              placement="right">
                                              {{ node.label }}
                                          </el-tooltip>
                                      </span>
                                      <span
                                          v-if="data.children&&data.value=='noopen'">({{ node.parent.data.controlNum }}/{{ data.children.length }})</span>
                                      <span
                                          v-if="data.children && data.value!='nopoint'&& data.value!='noopen'">({{ data.totalNum }})</span>
                                      <span v-if="data.value=='nopoint'">({{ data.children.length }})</span>
                                  </span>
                                  <span style="margin-right: 10px;">
                                      <!-- 测点添加 -->
                                      <svg-icon v-if="data.value=='nopoint'" class-name="search-icon"
                                          icon-class="addtotal"
                                          @click.stop="addtreePonit(data.id,node.parent.data.value)" />
                                      <!-- 分站删除 -->
                                      <svg-icon v-show="data.del" v-if="data.type=='fenzhan'" class-name="search-icon"
                                          icon-class="delkong" @click.stop="deletetree(data.value)" />
                                      <!-- 测点删除 -->
                                      <svg-icon v-show="data.del" class="deleteIcon"
                                          v-if="node.parent.data.value=='nopoint'" class-name="search-icon"
                                          icon-class="delkong" @click.stop="deletetreepoint(data.value)" />
                                      <!-- 开出口删除 -->
                                      <svg-icon v-show="data.del" class="deleteIcon"
                                          v-if="node.parent.data.value=='noopen'&&node.data.controlPortType!=null"
                                          class-name="search-icon" icon-class="delkong"
                                          @click.stop="delopenClick(node.data.controlPort,node.parent.parent.data.value)" />
                                  </span>
                              </span>
                          </template>
                      </el-tree>
                  </div>
              </el-col>
              <!-- 新增分站页面 -->
              <el-col :span="19" v-if="state.addShowTtation ==true">
                  <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="p_btn">
                              <oneclickDelivery></oneclickDelivery>
                          </p>
                          <p class="title_r"><span class="fz16 active">分站信息</span>
                            <!-- (若想添加分站类型/重新修改分站类型，<el-button
                                  type="primary" @click="tostationType" link>请点击跳转</el-button>) -->
                                </p>
                      </div>
                      <el-form class="formBox" ref="formRef" :model="state.formData" :rules="state.rules"
                          label-position="top">
                          <div class="desc_box">
                              <el-row :gutter="20">
                                  <el-col :span="6">
                                      <el-form-item label="分站编号（范围：1~255）" prop="stationCode">
                                          <el-select class="w100"  clearable filterable
                                              v-model="state.formData.stationCode" placeholder="请选择">
                                              <el-option v-for="item in state.ationNosList" :key="item" :label="item"
                                                  :value="item">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="IP" prop="stationTypeId">
                                        <el-input v-model="state.formData.stationInNum" placeholder="请输入">
                                        </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="输入口数量" prop="stationInNum">
                                          <el-input disabled v-model="state.formData.stationInNum" placeholder="请输入">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="分站模式" prop="stationModelName">
                                          <el-input disabled v-model="state.formData.stationModelName"
                                              placeholder="请输入">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="安装地点" prop="stationPlaceName">
                                          <el-select class="w100" clearable filterable allow-create
                                              v-model="state.formData.stationPlaceName" placeholder="请选择">
                                              <el-option v-for="item in state.addressInfoList" :key="item.id"
                                                  :label="item.placeName" :value="item.placeName">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="所在区域" prop="stationAreaId">
                                          <el-cascader class="w100" v-model="state.formData.stationAreaId"
                                              :options="state.searchTreeList" clearable
                                              :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,checkStrictly:true}" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="IP" prop="ipAddr">
                                          <el-input v-model="state.formData.ipAddr" placeholder="请输入"></el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="端口" prop="ipPort">
                                          <el-input v-model.number=" state.formData.ipPort" placeholder="请输入">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="通道号码" prop="channelNo">
                                          <el-select class="w100" clearable filterable allow-create
                                              v-model="state.formData.channelNo" placeholder="请选择"
                                              @change="channelNoChange">
                                              <el-option v-for="item in state.channelNoList" :key="item.id"
                                                  :label="item.name" :value="item.id">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="设备唯一编号" prop="identifyingNo">
                                          <el-input v-model="state.formData.identifyingNo" placeholder="请输入">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="分站地理位置">
                                          <div class="fbc">
                                              <el-input v-model="state.formData.locationX" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>X</span>
                                                  </template>
                                              </el-input>
                                              <el-input v-model="state.formData.locationY" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>Y</span>
                                                  </template>
                                              </el-input>
                                              <el-input v-model="state.formData.locationZ" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>Z</span>
                                                  </template>
                                              </el-input>
                                          </div>
                                      </el-form-item>
                                  </el-col>
                              </el-row>
                          </div>
                          <!-- 分站tab切换 -->
                          <!-- <el-col :span="24">
                              <p class="activeNameTab">
                                  <span class="span" :class="state.activeName ==item.type ? 'active':''"
                                      v-for="item in state.activeNameList" :key="item.type"
                                      @click="activeNameTabClick(item.type)">{{ item.name }}</span>
                              </p>
                          </el-col> -->
                          <!-- <div class="desc_box w100">
                              <list_controller v-if="state.activeName == 0" :options="state.options" pageName=""
                                  @deleteBtn="deleteBtn" @addBtn="addBtn" @editBtn="editBtn" @lookBtn="lookBtn"
                                  :addBtnMul="true" :delBtnMul="false"></list_controller>
                              <el-row :gutter="20" v-if="state.activeName == 2">
                                  <el-col :span="4">
                                      <el-form-item label="无主断电" prop="isPlaceotherBreakfalg">
                                          <el-switch v-model="state.formData.isPlaceotherBreakfalg" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="4">
                                      <el-form-item label="瓦斯抽放" prop="isGasDrainage">
                                          <el-switch v-model="state.formData.isGasDrainage" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="4">
                                      <el-form-item label="以太网" prop="isNetwork">
                                          <el-switch v-model="state.formData.isNetwork" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="4">
                                      <el-form-item label="禁止非即插即用传感器" prop="noOldprotocolSensor">
                                          <el-switch v-model="state.formData.noOldprotocolSensor" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="4">
                                      <el-form-item label="续传" prop="continuation">
                                          <el-switch v-model="state.formData.continuation" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="4">
                                      <el-form-item label="测点断线断电" prop="pointCutBroken">
                                          <el-switch v-model="state.formData.pointCutBroken" />
                                      </el-form-item>
                                  </el-col>
                              </el-row>
                              <list_controller v-if="state.activeName == 0" :options="state.options1" pageName=""
                                  @deleteBtn="deleteBtn" @addBtn="addBtn" @editBtn="editBtn" @lookBtn="lookBtn"
                                  :addBtnMul="true" :delBtnMul="false"></list_controller>
                          </div> -->
                      </el-form>
                  </div>
                  <div class="footer_card fbc">
                      <span></span>
                      <span>
                          <el-button class="btn" type="info" @click="cancelClick">取消</el-button>
                          <el-button class="btn" type="primary" @click="addClick">确定</el-button>
                      </span>
                  </div>
              </el-col>
              <!-- 有左侧数据展示页面 -->
              <el-col :span="19" v-if="state.nodetailShowTtation == true">
                  <div class="fdcc h100">
                      <img style="margin-left:-20px;" src="@/assets/images/nodata.png" />
                      <p style="color:rgba(0,0,0,0.5)">请在左侧点击查看</p>
                  </div>
              </el-col>
              <!-- 分站详情 -->
              <el-col :span="19" v-if="state.detailShowTtation == true">
                  <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="p_btn">
                              <oneclickDelivery></oneclickDelivery>
                          </p>
                          <p class="title_r fbc">
                              <span class="fz16 active">分站信息</span>
                              <div>
                                  <el-button link size="small" type="primary" @click="editstationBtn">
                                      <svg-icon class-name="search-icon" icon-class="editponit" />编辑</el-button>
                                  <el-button link size="small" type="primary"
                                      @click="addtreePonit(state.datatreeId,state.datatreeCode)">
                                      <svg-icon class-name="search-icon" icon-class="addponit" />新增测点
                                  </el-button>
                                  <el-button link size="small" type="primary">
                                      <svg-icon class-name="search-icon" icon-class="muponit" />模板</el-button>
                                  <el-button link size="small" type="primary"
                                      @click.stop="deletetree(state.datatreeCode)">
                                      <svg-icon class-name="search-icon" icon-class="delpoint" />删除
                                  </el-button>
                              </div>
                          </p>
                      </div>
                      <div class="formBox">
                          <div class="desc_box">
                              <p class="drawer_sub_title">
                                  <span>
                                      <svg-icon class-name="search-icon" icon-class="map" />
                                      {{state.formData.stationPlaceName}}</span>
                              </p>
                              <el-row :gutter="20" class="el-drawer_mash">
                                  <el-col :span="6">
                                      <div style="text-align:center;margin-top:10%;">
                                          <div style="position:relative;">
                                              <img v-if="state.formData.stationTypeImagePath"
                                                  style="width:80px;height:80px"
                                                  :src="state.formData.stationTypeImagePath" alt="" />
                                              <img v-else src="@/assets/images/noimg.png" />
                                              <span style="position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
                                                  font-size:12px;background-color:rgba(103, 194, 58, 1);padding:2px 4px;
                                                  border-radius:4px;color:#fff;font-weight:700;"
                                                  v-if="state.formData.pointStatus == 0">{{state.formData.pointStatusName }}</span>
                                          </div>
                                          <p style="font-weight:700;font-size:14px">
                                              {{state.formData.stationTypeName}}</p>
                                          <p style="font-size:14px"><span>{{state.formData.stationVersion}}</span>
                                              <el-button size="small" type="primary" link>发现新版本
                                                  <svg-icon class-name="search-icon" icon-class="upload" />
                                              </el-button>
                                          </p>
                                      </div>
                                  </el-col>
                                  <el-col :span="18">
                                      <el-row :gutter="20">
                                          <el-col :span="8">
                                              <p>输入口数量/开出口数量</p>
                                              <p>{{state.formData.stationInNum}}/{{state.formData.stationOutNum}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>分站模式</p>
                                              <p>{{state.formData.stationModelName}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>IP:端口</p>
                                              <p>{{state.formData.ipAddr}}:{{state.formData.ipPort}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>通道</p>
                                              <p>
                                                  <el-button link type="primary">{{state.formData.channelName}}
                                                  </el-button>
                                              </p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>所在区域</p>
                                              <p>{{state.formData.stationAreaName}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>安装时刻</p>
                                              <p>{{state.formData.createTime}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>设备唯一编号</p>
                                              <p v-if="state.formData.identifyingNo!=null">
                                                  {{state.formData.identifyingNo}}</p>
                                              <p v-else>-</p>
                                          </el-col>
                                          <el-col :span="16">
                                              <p>应用场景</p>
                                              <p>{{state.formData.applicationScene}}</p>
                                          </el-col>
                                          <el-col :span="24">
                                              <p>地理位置(X Y Z)</p>
                                              <span class="chaolink"
                                                  v-if="state.formData.locationX !=null ||  state.formData.locationY!=null||state.formData.locationZ!=null">
                                                  {{state.formData.locationX}},{{state.formData.locationY}},{{state.formData.locationZ}}
                                              </span>
                                              <span v-else>-</span>
                                          </el-col>
                                      </el-row>
                                  </el-col>
                              </el-row>
                          </div>
                          <!-- <el-col :span="24">
                              <p class="activeNameTab">
                                  <span class="span" :class="state.activeName1 ==item.type ? 'active':''"
                                      v-for="item in state.activeNameList" :key="item.type"
                                      @click="activeNameTabClick1(item.type)">{{ item.name }}</span>
                              </p>
                          </el-col> -->
                          <!-- <div class="desc_box">
                              <el-row :gutter="20" v-if="state.activeName1 ==0"
                                  class="collapseBoxdesc el-drawer_mash">
                                  <el-col :span="24">
                                      <el-collapse v-model="state.collapseAtive" @change="handleChange">
                                          <el-collapse-item :name="index" v-for="(item,index) in 1">
                                              <template #title>
                                                  <div class="fbc" style="width:100%;">
                                                      <div style="width:100%;">
                                                          <el-row :gutter="20" class="collapseBox">
                                                              <el-col :span="6">
                                                                  <p>
                                                                      <span
                                                                          style="color:#333;font-weight:700;">中央变电所电源1</span>
                                                                      <span
                                                                          style="font-size:12px;background-color:rgba(103, 194, 58, 1);
                                                                      color:#fff;padding:2px 4px;border-radius:2px;">直流电</span>
                                                                  </p>
                                                                  <p>
                                                                      主巷道中央变电所
                                                                  </p>
                                                              </el-col>
                                                              <el-col :span="6">
                                                                  <p>
                                                                      电源状态</p>
                                                                  <p>
                                                                      <el-button type="primary" link size="mini">
                                                                          充电中</el-button>
                                                                  </p>
                                                              </el-col>
                                                              <el-col :span="6">
                                                                  <p>
                                                                      电源类型</p>
                                                                  <p>
                                                                      KDW660-29BJ-电源分站
                                                                  </p>
                                                              </el-col>
                                                              <el-col :span="6">
                                                                  <p>
                                                                      电源号</p>
                                                                  <p>
                                                                      1号电源
                                                                  </p>
                                                              </el-col>
                                                          </el-row>
                                                      </div>
                                                  </div>
                                              </template>
                                              <el-row :gutter="20">
                                                  <el-col :span="6">
                                                      <p>最近充电时刻</p>
                                                      <p>2024-5-9 17:19:33</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>最近充电时长</p>
                                                      <p>1小时</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>最近放电时刻</p>
                                                      <p>2024-5-9 17:19:33</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>最近放电时长</p>
                                                      <p>1小时</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>历史充放电</p>
                                                      <p>
                                                          <el-button link type="primary">查看</el-button>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>关联测点</p>
                                                      <p>
                                                          <el-button link type="primary">查看</el-button>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>放电时刻门限</p>
                                                      <p>1小时</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>容量门限</p>
                                                      <p>20%</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>电源路数</p>
                                                      <p>2</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>程序版本</p>
                                                      <p>1.0.01</p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>安装时刻</p>
                                                      <p>2024-4-12 14:32:51</p>
                                                  </el-col>
                                              </el-row>
                                          </el-collapse-item>
                                      </el-collapse>
                                  </el-col>
                              </el-row>
                              <el-row :gutter="20" v-if="state.activeName1 == 2">
                                  <el-col :span="3">
                                      <el-form-item label="无主断电" prop="isPlaceotherBreakfalg">
                                          <el-switch v-model="state.formData.isPlaceotherBreakfalg" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="3">
                                      <el-form-item label="瓦斯抽放" prop="isGasDrainage">
                                          <el-switch v-model="state.formData.isGasDrainage" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="3">
                                      <el-form-item label="以太网" prop="isNetwork">
                                          <el-switch v-model="state.formData.isNetwork" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="5">
                                      <el-form-item label="禁止非即插即用传感器" prop="noOldprotocolSensor">
                                          <el-switch v-model="state.formData.noOldprotocolSensor" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="3">
                                      <el-form-item label="续传" prop="continuation">
                                          <el-switch v-model="state.formData.continuation" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="4">
                                      <el-form-item label="测点断线断电" prop="pointCutBroken">
                                          <el-switch v-model="state.formData.pointCutBroken" />
                                      </el-form-item>
                                  </el-col>
                              </el-row>
                          </div> -->
                      </div>
                  </div>
              </el-col>
              <!-- 新增测点页面 -->
              <el-col :span="19" v-if="state.addShowPoint ==true">
                  <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="p_btn">
                              <oneclickDelivery></oneclickDelivery>
                          </p>
                          <p class="title_r"><span class="fz16 hover" @click="addstationBtn">分站信息</span>
                              <span class="fz16 active">测点信息</span></p>
                      </div>
                      <el-form class="formBox" ref="formRef1" :model="state.formData1" :rules="state.rules1"
                          label-position="top">
                          <div class="desc_box">
                              <el-row :gutter="20">
                                  <el-col :span="6">
                                      <el-form-item label="测点编号" prop="pointCode">
                                          <el-select class="w100" clearable filterable
                                              v-model="state.formData1.pointCode" placeholder="请选择"
                                              :disabled="state.editpontDis">
                                              <el-option v-for="item in state.pointNoList" :key="item" :label="item"
                                                  :value="item">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="测点类型" prop="pointType">
                                          <el-select class="w100" clearable filterable
                                              v-model="state.formData1.pointType" placeholder="请选择"
                                              :disabled="state.editpontDis" @change="pointTypeChange">
                                              <el-option v-for="item in state.pointTypeList" :key="item.value"
                                                  :label="item.name" :value="item.value">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12" v-if="state.formData1.pointType ==3">
                                      <el-form-item prop="templateId">
                                          <label slot="label">
                                              <span style="color:#f56c6c;">*</span><span>模板名称</span>
                                              <el-button link type="primary" style="margin-left:5px;"
                                                  @click="addtemplateClick">新增模板</el-button>
                                          </label>
                                          <el-cascader class="w100" ref="templateref"
                                              v-model="state.formData1.templateId" :options="state.templateTreeList"
                                              clearable :props="{value: 'id', label: 'templateName',emitPath:false}"
                                              @change="templateTreeChange" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="24"
                                      v-if="state.expressionVoList.length>0&&state.formData1.pointType ==3">
                                      <el-form-item prop="expressionVoList">
                                          <label slot="label">
                                              <span style="color:#f56c6c;">*</span><span>虚拟表达式</span>
                                              <!-- <el-button link type="primary" style="margin-left:5px;">调整</el-button> -->
                                          </label>
                                          <div class="w100">
                                              <span v-for="item in state.expressionVoList">
                                                  <el-select v-if="item.obj" clearable filterable v-model="item.value"
                                                      :placeholder="item.value1">
                                                      <el-option v-for="item1 in item.obj.codeList" :key="item1"
                                                          :label="item1" :value="item1">
                                                      </el-option>
                                                  </el-select>
                                                  <span v-else>{{item.value}}</span>
                                              </span>
                                          </div>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12" v-if="state.formData1.pointType ==1">
                                      <el-form-item label="传感器名称" prop="sensorId">
                                          <el-cascader class="w100" ref="cascaderValue"
                                              v-model="state.formData1.sensorId" @change="chuangantreeChange"
                                              :options="state.sensorIdList" clearable :props="{emitPath:false}" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12" v-if="state.formData1.pointType ==2">
                                      <el-form-item label="传感器名称" prop="sensorId">
                                          <span>
                                              <el-select clearable filterable v-model="state.formData1.sensorId"
                                                  placeholder="请选择" :disabled="state.editpontDis"
                                                  @change="mulsensorIdChange">
                                                  <el-option v-for="item in state.mulsensorIdList" :key="item.id"
                                                      :label="item.sensorName" :value="item.id">
                                                  </el-option>
                                              </el-select>
                                              <el-popover placement="right" :width="600" trigger="hover"
                                                  v-if="state.looksensorObj">
                                                  <template #reference>
                                                      <el-button type="primary" link style="margin-right: 16px">
                                                          查看传感器参数
                                                      </el-button>
                                                  </template>
                                                  <template #default>
                                                      <el-row :gutter="20" class="fac">
                                                          <el-col :span="4">
                                                              <img v-if="state.looksensorObj.imagePath"
                                                                  style="height:100px;width:100%;"
                                                                  :src="state.looksensorObj.imagePath" />
                                                              <img v-else src="@/assets/images/noimg.png" />
                                                          </el-col>
                                                          <el-col :span="20">
                                                              <el-row :gutter="20">
                                                                  <el-col style="font-size:16px;font-weight:700"
                                                                      :span="24">
                                                                      {{ state.looksensorObj.sensorName }}
                                                                  </el-col>
                                                                  <el-col :span="12"
                                                                      v-for="item in state.looksensorObj.sensorList">
                                                                      <span
                                                                          style="padding:4px 10px;display:inline-block;background-color:rgba(242, 244, 245, 1);border-radius:4px;margin-top:10px;">{{item.name}}</span>
                                                                  </el-col>
                                                              </el-row>
                                                          </el-col>
                                                      </el-row>
                                                  </template>
                                              </el-popover>
                                          </span>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="安装地点" prop="pointPlaceName">
                                          <el-select class="w100" clearable filterable allow-create
                                              v-model="state.formData1.pointPlaceName" placeholder="请选择">
                                              <el-option v-for="item in state.addressInfoList" :key="item.id"
                                                  :label="item.placeName" :value="item.placeName">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="所在区域" prop="pointAreaId">
                                          <el-cascader class="w100" v-model="state.formData1.pointAreaId"
                                              :options="state.searchTreeList" clearable
                                              :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,checkStrictly:true}" />
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12" v-if="state.needPlaceType == true">
                                      <el-form-item label="地点类型" prop="placeTypeId">
                                          <el-select style="width: 100%;" clearable filterable
                                              v-model="state.formData1.placeTypeId" placeholder="请选择">
                                              <el-option v-for="item in state.placeTypeIdList" :key="item.id"
                                                  :label="item.typePlace+item.typeCode" :value="item.id">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="瓦斯抽放测点" prop="isGasDrainage">
                                          <el-switch v-model="state.formData1.isGasDrainage">
                                          </el-switch>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6" v-if="state.formData1.isGasDrainage">
                                      <el-form-item label="瓦斯抽放监测点组别" prop="gasDrainageGroupno">
                                          <el-select class="w100" clearable filterable
                                              v-model="state.formData1.gasDrainageGroupno" placeholder="请选择">
                                              <el-option v-for="item in 4" :key="item" :label="item" :value="item">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6"
                                      v-if="state.formData1.calibration && state.formData1.pointType !=3">
                                      <el-form-item label="同步添加到标校管理" prop="isCalibration">
                                          <el-switch v-model="state.formData1.calibration.isCalibration">
                                          </el-switch>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6"
                                      v-if="state.formData1.calibration && state.formData1.pointType !=3">
                                      <el-form-item label="标校间隔时刻(天)" prop="calibration.intervalTime"
                                          v-if="state.formData1.calibration.isCalibration">
                                          <el-input oninput="value=value.replace(/[^\d.]/g,'')"
                                              v-model.number="state.formData1.calibration.intervalTime"
                                              placeholder="请输入" :min="1" :max="365">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="地理位置">
                                          <div class="fbc">
                                              <el-input v-model="state.formData1.locationX" oninput="value =value.replace(/[^\-\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1').replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1').replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1').replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>X</span>
                                                  </template>
                                              </el-input>
                                              <el-input v-model="state.formData1.locationY" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>Y</span>
                                                  </template>
                                              </el-input>
                                              <el-input v-model="state.formData1.locationZ" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>Z</span>
                                                  </template>
                                              </el-input>
                                          </div>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12" v-if="state.formData1.pointType !=3">
                                      <el-form-item label="设备唯一编号" prop="pointIdentifyingNo">
                                          <el-input v-model="state.formData1.pointIdentifyingNo" placeholder="请输入">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                              </el-row>
                          </div>
                          <!-- 多参测点 -->
                          <div v-if="state.formData1.pointType == 2">
                              <div class="activeNameTab" style="display:flex;">
                                  <el-tabs v-model="state.mulactiveNamePoint" class="demo-tabs w100"
                                      @tab-click="handleClick">
                                      <el-tab-pane v-for="(item,index) in state.formData1.multiplePointBranchList"
                                          :label="item.childIndxName !=null ? item.sensorName+'-'+item.childIndexName : item.sensorName"
                                          :name="item.sensorId" :key="index">
                                          <el-row :gutter="20" v-if="state.mulactiveNamePoint ==item.sensorId">
                                              <el-col :span="24" v-if="item.baohanD !='S'">
                                                  <p class="activeNameTab" style="padding-left:0px;">
                                                      <span v-for="(point,pointIndex) in state.pointactiveNameList"
                                                          :key="point.type"
                                                          @click="ponitactiveNameTabClick(point.type)">
                                                          <span v-if="item.baohanD=='D'">
                                                              <span v-if="item.needGrandalarm">
                                                                  <span class="span1"
                                                                      :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                      v-if="point.type!=4">{{ point.name }}</span>
                                                              </span>
                                                              <span v-else>
                                                                  <span class="span1"
                                                                      :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                      v-if="point.type!=4 && point.type!=2">{{ point.name }}</span>
                                                              </span>
                                                          </span>
                                                          <span v-else>
                                                              <span v-if="item.needGrandalarm">
                                                                  <span class="span1"
                                                                      :class="state.activeNamePoint ==point.type ? 'active1':''">{{ point.name }}</span>
                                                              </span>
                                                              <span v-else>
                                                                  <span class="span1"
                                                                      :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                      v-if="point.type!=2">{{ point.name }}</span>
                                                              </span>
                                                          </span>
                                                      </span>
                                                  </p>
                                              </el-col>
                                              <el-col :span="24" class="desc_box" v-if="item.baohanD !='S'">
                                                  <div v-if="state.activeNamePoint == 1">
                                                      <el-row :gutter="20" v-if="item">
                                                          <el-col :span="8">
                                                              <el-form-item label="报警模式"
                                                                  :prop="`multiplePointBranchList[${index}][alarmBasic.alarmType]`"
                                                                  :rules="state.rules1.field_mulalarmType">
                                                                  <el-select clearable filterable
                                                                      v-model="item.alarmBasic.alarmType"
                                                                      placeholder="请选择">
                                                                      <el-option v-for="item in state.alarmBasicList"
                                                                          :key="item.code" :label="item.name+'报警'"
                                                                          :value="item.code">
                                                                      </el-option>
                                                                  </el-select>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="16">
                                                              <el-form-item label="上限报警值"
                                                                  v-if="(item.alarmBasic.alarmType ==1 || item.alarmBasic.alarmType ==3)&&item.baohanD!='D'"
                                                                  :prop="`multiplePointBranchList[${index}][alarmBasic.upAlarmValue]`"
                                                                  :rules="state.rules1.field_mulupAlarmValue">
                                                                  <div class="fbc">
                                                                      <el-row :gutter="20">
                                                                          <el-col :span="12">
                                                                              <div class="fac">
                                                                                  <span class="wn">报警值≥</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                      v-model="item.alarmBasic.upAlarmValue"
                                                                                      placeholder="报警值≥">
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-col>
                                                                          <el-col :span="12">
                                                                              <div class="fac">
                                                                                  <span class="wn">解报值＜</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                      v-model="item.alarmBasic.upRelieveValue"
                                                                                      placeholder="解报值＜">
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-col>
                                                                      </el-row>
                                                                  </div>
                                                              </el-form-item>
                                                              <el-form-item label="下限报警值"
                                                                  v-if="(item.alarmBasic.alarmType ==2 || item.alarmBasic.alarmType ==3)&&item.baohanD!='D'"
                                                                  :prop="`multiplePointBranchList[${index}][alarmBasic.downAlarmValue]`"
                                                                  :rules="state.rules1.field_muldownAlarmValue">
                                                                  <div class="fbc">
                                                                      <el-row :gutter="20">
                                                                          <el-col :span="12">
                                                                              <div class="fac">
                                                                                  <span class="wn">报警值≤</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                      v-model="item.alarmBasic.downAlarmValue"
                                                                                      placeholder="报警值≤">
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-col>
                                                                          <el-col :span="12">
                                                                              <div class="fac">
                                                                                  <span class="wn">解报值＞</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                                      v-model="item.alarmBasic.downRelieveValue"
                                                                                      placeholder="解报值＞">
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-col>
                                                                      </el-row>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8">
                                                              <el-form-item prop="hasPreAlarm" label-position="left">
                                                                  <span class="wn">预报警</span>
                                                                  <el-switch v-model="item.prealarmBasic.hasPreAlarm">
                                                                  </el-switch>
                                                                  <el-button link type="primary" size="small"
                                                                      @click="hasPreAlarmdescClick">
                                                                      全部详情
                                                                  </el-button>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="16"></el-col>
                                                          <el-col :span="24" v-if="item.prealarmBasic.hasPreAlarm">
                                                              <el-row :gutter="20">
                                                                  <el-col :span="6">
                                                                      <el-form-item label="上限预报值"
                                                                          :prop="`multiplePointBranchList[${index}][prealarmBasic.upPrealarmValue]`"
                                                                          :rules="state.rules1.field_mulupPrealarmValue">
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.prealarmBasic.upPrealarmValue"
                                                                              placeholder="请输入">
                                                                          </el-input>
                                                                      </el-form-item>
                                                                  </el-col>
                                                                  <el-col :span="6">
                                                                      <el-form-item label="下限预报值"
                                                                          :prop="`multiplePointBranchList[${index}][prealarmBasic.downPrealarmValue]`"
                                                                          :rules="state.rules1.field_muldownPrealarmValue">
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.prealarmBasic.downPrealarmValue"
                                                                              placeholder="请输入">
                                                                          </el-input>
                                                                      </el-form-item>
                                                                  </el-col>
                                                                  <el-col :span="6">
                                                                      <el-form-item label="超时"
                                                                          :prop="`multiplePointBranchList[${index}][prealarmBasic.prealarmTimeout]`"
                                                                          :rules="state.rules1.field_mulprealarmTimeout">
                                                                          <span class="fac">
                                                                              <el-select clearable filterable
                                                                                  v-model="item.prealarmBasic.prealarmTimeout"
                                                                                  placeholder="请选择">
                                                                                  <el-option
                                                                                      v-for="item in state.prealarmTimeoutData"
                                                                                      :key="item" :label="item+'分钟'"
                                                                                      :value="item">
                                                                                  </el-option>
                                                                              </el-select>
                                                                              <span class="wn">分钟</span>
                                                                          </span>
                                                                      </el-form-item>
                                                                  </el-col>
                                                              </el-row>
                                                          </el-col>
                                                          <el-col :span="24">
                                                              <el-form-item>
                                                                  <span>恒值预报警</span>
                                                                  <el-switch
                                                                      v-model="item.prealarmBasic.hasConstantPreAlarm">
                                                                  </el-switch>
                                                                  <el-button link type="primary" size="small"
                                                                      @click="hasConstantPreAlarmdescClick">
                                                                      全部详情
                                                                  </el-button>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8"
                                                              v-if="item.prealarmBasic.hasConstantPreAlarm">
                                                              <el-form-item label="恒值持续时间"
                                                                  :prop="`multiplePointBranchList[${index}][prealarmBasic.constantTime]`"
                                                                  :rules="state.rules1.field_mulconstantTime">
                                                                  <span class="fac">
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="item.prealarmBasic.constantTime"
                                                                          placeholder="请输入">
                                                                      </el-input>
                                                                      <span class="wn">分钟</span>
                                                                  </span>
                                                              </el-form-item>
                                                          </el-col>
                                                      </el-row>
                                                  </div>
                                                  <!-- 分级配置 -->
                                                  <div v-if="state.activeNamePoint == 2">
                                                      <el-row :gutter="20">
                                                          <el-col :span="6">
                                                              <el-form-item
                                                                  :label="item.baohanD == 'D'?'分级报警':'上限分级报警'">
                                                                  <el-switch v-model="item.hasUpGrandAlarm"
                                                                      @change="hasUpGrandAlarmChange" />
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6" v-if="item.baohanD != 'D'">
                                                              <el-form-item label="下限分级报警">
                                                                  <el-switch v-model="item.hasDownGrandAlarm"
                                                                      @change="hasDownGrandAlarmChange" />
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6">
                                                              <el-form-item label="启用多级报警">
                                                                  <el-switch v-model="item.hasMoreGrandAlarm" />
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6" v-if="item.baohanD != 'D'">
                                                              <el-form-item label="启用涨/跌幅">
                                                                  <el-switch v-model="item.hasChangeGrandAlarm" />
                                                              </el-form-item>
                                                          </el-col>
                                                      </el-row>
                                                      <el-row v-if="item.hasUpGrandAlarm && item.hasDownGrandAlarm">
                                                          <el-radio-group v-model="state.radio1">
                                                              <el-radio-button label="上限分级报警" value="上限分级报警" />
                                                              <el-radio-button label="下限分级报警" value="下限分级报警" />
                                                          </el-radio-group>
                                                      </el-row>
                                                      <el-row :gutter="20" style="margin:0 10px"
                                                          v-if="state.radio1=='上限分级报警' && item.hasUpGrandAlarm">
                                                          <el-row :gutter="20" v-if="item.baohanD != 'D'">
                                                              <el-col :span="24" v-if="item.hasChangeGrandAlarm">
                                                                  <p class="drawer_sub_title"
                                                                      style="margin-left:0;padding-top:10px;">
                                                                      <span>
                                                                          变化参数设置</span>
                                                                  </p>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label="变化率判断门限≥"
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.thresholdValue`"
                                                                      :rules="state.rules1.field_upgrandthresholdValue">
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="item.upGrandalarmBasic.grandalarmRate.thresholdValue"
                                                                          placeholder="请输入">
                                                                          <template
                                                                              #append>{{item.sensorUnit}}</template>
                                                                      </el-input>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label="变化率持续周期"
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateCycle`"
                                                                      :rules="state.rules1.field_upgrandrateCycle">
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="item.upGrandalarmBasic.grandalarmRate.rateCycle"
                                                                          placeholder="请输入">
                                                                          <template #append>秒</template>
                                                                      </el-input>
                                                                  </el-form-item>
                                                              </el-col>
                                                          </el-row>
                                                          <el-row :gutter="20">
                                                              <el-col :span="24" v-if="item.hasMoreGrandAlarm">
                                                                  <el-row :gutter="20">
                                                                      <el-col :span="24">
                                                                          <p class="pfz">六级报警</p>
                                                                      </el-col>
                                                                      <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                          <el-form-item label=""
                                                                              :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandsixValue`"
                                                                              :rules="state.rules1.field_upgrandsixValue">
                                                                              <div class="fac">
                                                                                  <span class="wn">上限预报值≥</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandsixValue"
                                                                                      placeholder="请输入">
                                                                                      <template
                                                                                          #append>{{item.sensorUnit}}</template>
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="8">
                                                                          <el-form-item label=""
                                                                              :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandsixTime`"
                                                                              :rules="state.rules1.field_upgrandsixTime">
                                                                              <div class="fac">
                                                                                  <span class="wn"
                                                                                      v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandsixTime"
                                                                                      placeholder="请输入">
                                                                                      <template #append>分钟</template>
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="8"
                                                                          v-if="item.hasChangeGrandAlarm">
                                                                          <el-form-item label=""
                                                                              :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateSixValue`"
                                                                              :rules="state.rules1.field_uprateSixValue">
                                                                              <div class="fac">
                                                                                  <span class="wn">或 跌幅≥</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                                      placeholder="请输入">
                                                                                      <template
                                                                                          #append>{{item.sensorUnit}}</template>
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="24">
                                                                          <p class="pfz">五级报警</p>
                                                                      </el-col>
                                                                      <el-col :span="8" v-if="state.baohanD != 'D'">
                                                                          <el-form-item label=""
                                                                              :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfiveValue`"
                                                                              :rules="state.rules1.field_upgrandfiveValue"
                                                                              v-if="item.hasMoreGrandAlarm">
                                                                              <div class="fac">
                                                                                  <span class="wn">下限预报值≤</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandfiveValue"
                                                                                      placeholder="请输入">
                                                                                      <template
                                                                                          #append>{{item.sensorUnit}}</template>
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="8">
                                                                          <el-form-item label=""
                                                                              :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfiveTime`"
                                                                              :rules="state.rules1.field_upgrandfiveTime">
                                                                              <div class="fac">
                                                                                  <span class="wn"
                                                                                      v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandfiveTime"
                                                                                      placeholder="请输入">
                                                                                      <template #append>分钟</template>
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="8"
                                                                          v-if="item.hasChangeGrandAlarm">
                                                                          <el-form-item label=""
                                                                              :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateFiveValue`"
                                                                              :rules="state.rules1.field_uprateFiveValue">
                                                                              <div class="fac">
                                                                                  <span class="wn">或 跌幅≥</span>
                                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.upGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                                      placeholder="请输入">
                                                                                      <template
                                                                                          #append>{{item.sensorUnit}}</template>
                                                                                  </el-input>
                                                                              </div>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                  </el-row>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">四级报警</p>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfourValue`"
                                                                      :rules="state.rules1.field_upgrandfourValue">
                                                                      <div class="fac">
                                                                          <span class="wn">上限预报值≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandfourValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandfourTime`"
                                                                      :rules="state.rules1.field_upgrandfourTime">
                                                                      <div class="fac">
                                                                          <span class="wn"
                                                                              v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandfourTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateFourValue`"
                                                                      :rules="state.rules1.field_uprateFourValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 涨幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">三级报警</p>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandthreeValue`"
                                                                      :rules="state.rules1.field_upgrandthreeValue">
                                                                      <div class="fac">
                                                                          <span class="wn">上限预报值≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandthreeValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandthreeTime`"
                                                                      :rules="state.rules1.field_upgrandthreeTime">
                                                                      <div class="fac">
                                                                          <span class="wn"
                                                                              v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandthreeTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateThreeValue`"
                                                                      :rules="state.rules1.field_uprateThreeValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 涨幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">二级报警</p>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandtwoValue`"
                                                                      :rules="state.rules1.field_upgrandtwoValue">
                                                                      <div class="fac">
                                                                          <span class="wn">上限预报值≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandtwoValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandtwoTime`"
                                                                      :rules="state.rules1.field_upgrandtwoTime">
                                                                      <div class="fac">
                                                                          <span class="wn"
                                                                              v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandtwoTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateTwoValue`"
                                                                      :rules="state.rules1.field_uprateTwoValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 涨幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">一级报警</p>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.baohanD != 'D'">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandoneValue`"
                                                                      :rules="state.rules1.field_upgrandoneValue">
                                                                      <div class="fac">
                                                                          <span class="wn">上限预报值≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandoneValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandoneTime`"
                                                                      :rules="state.rules1.field_upgrandoneTime">
                                                                      <div class="fac">
                                                                          <span class="wn"
                                                                              v-html="item.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandoneTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item
                                                                      :prop="`multiplePointBranchList[${index}]upGrandalarmBasic.grandalarmRate.rateOneValue`"
                                                                      :rules="state.rules1.field_uprateOneValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 涨幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.upGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                          </el-row>
                                                      </el-row>
                                                      <el-row :gutter="20" style="margin:0 10px"
                                                          v-if="state.radio1=='下限分级报警' && item.hasDownGrandAlarm">
                                                          <el-row :gutter="20">
                                                              <el-col :span="24" v-if="item.hasChangeGrandAlarm">
                                                                  <p class="drawer_sub_title"
                                                                      style="margin-left:0;padding-top:10px;">
                                                                      <span>
                                                                          变化参数设置</span>
                                                                  </p>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label="变化率判断门限≤"
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.thresholdValue`"
                                                                      :rules="state.rules1.field_downthresholdValue">
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="item.downGrandalarmBasic.grandalarmRate.thresholdValue"
                                                                          placeholder="请输入">
                                                                          <template
                                                                              #append>{{item.sensorUnit}}</template>
                                                                      </el-input>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label="变化率持续周期"
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateCycle`"
                                                                      :rules="state.rules1.field_downrateCycle">
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="item.downGrandalarmBasic.grandalarmRate.rateCycle"
                                                                          placeholder="请输入">
                                                                          <template #append>秒</template>
                                                                      </el-input>
                                                                  </el-form-item>
                                                              </el-col>
                                                          </el-row>
                                                          <el-row :gutter="20" v-if="item.hasMoreGrandAlarm">
                                                              <el-col :span="24">
                                                                  <p class="pfz">六级报警</p>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandsixValue`"
                                                                      :rules="state.rules1.field_downgrandsixValue">
                                                                      <div class="fac">
                                                                          <span class="wn">下限预报值≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandsixValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandsixTime`"
                                                                      :rules="state.rules1.field_downgrandsixTime">
                                                                      <div class="fac">
                                                                          <span class="wn">或 持续时间≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandsixTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateSixValue`"
                                                                      :rules="state.rules1.field_downrateSixValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 跌幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">五级报警</p>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfiveValue`"
                                                                      :rules="state.rules1.field_downgrandfiveValue"
                                                                      v-if="item.hasMoreGrandAlarm">
                                                                      <div class="fac">
                                                                          <span class="wn">下限预报值≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandfiveValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfiveTime`"
                                                                      :rules="state.rules1.field_downgrandfiveTime">
                                                                      <div class="fac">
                                                                          <span class="wn">或 持续时间≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandfiveTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateFiveValue`"
                                                                      :rules="state.rules1.field_downrateFiveValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 跌幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                          </el-row>
                                                          <el-row :gutter="20">
                                                              <el-col :span="24">
                                                                  <p class="pfz">四级报警</p>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfourValue`"
                                                                      :rules="state.rules1.field_downgrandfourValue">
                                                                      <div class="fac">
                                                                          <span class="wn">下限预报值≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandfourValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandfourTime`"
                                                                      :rules="state.rules1.field_downgrandfourTime">
                                                                      <div class="fac">
                                                                          <span class="wn">或 持续时间≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandfourTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateFourValue`"
                                                                      :rules="state.rules1.field_downrateFourValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 跌幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">三级报警</p>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandthreeValue`"
                                                                      :rules="state.rules1.field_downgrandthreeValue">
                                                                      <div class="fac">
                                                                          <span class="wn">下限预报值≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandthreeValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandthreeTime`"
                                                                      :rules="state.rules1.field_downgrandthreeTime">
                                                                      <div class="fac">
                                                                          <span class="wn">或 持续时间≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandthreeTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateThreeValue`"
                                                                      :rules="state.rules1.field_downrateThreeValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 跌幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">二级报警</p>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandtwoValue`"
                                                                      :rules="state.rules1.field_downgrandtwoValue">
                                                                      <div class="fac">
                                                                          <span class="wn">下限预报值≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandtwoValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandtwoTime`"
                                                                      :rules="state.rules1.field_downgrandtwoTime">
                                                                      <div class="fac">
                                                                          <span class="wn">或 持续时间≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandtwoTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateTwoValue`"
                                                                      :rules="state.rules1.field_downrateTwoValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 跌幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <p class="pfz">一级报警</p>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandoneValue`"
                                                                      :rules="state.rules1.field_downgrandoneValue">
                                                                      <div class="fac">
                                                                          <span class="wn">下限预报值≤</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandoneValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandoneTime`"
                                                                      :rules="state.rules1.field_downgrandoneTime">
                                                                      <div class="fac">
                                                                          <span class="wn">或 持续时间></span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandoneTime"
                                                                              placeholder="请输入">
                                                                              <template #append>分钟</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="8" v-if="item.hasChangeGrandAlarm">
                                                                  <el-form-item label=""
                                                                      :prop="`multiplePointBranchList[${index}]downGrandalarmBasic.grandalarmRate.rateOneValue`"
                                                                      :rules="state.rules1.field_downrateOneValue">
                                                                      <div class="fac">
                                                                          <span class="wn">或 跌幅≥</span>
                                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                              v-model="item.downGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                              placeholder="请输入">
                                                                              <template
                                                                                  #append>{{item.sensorUnit}}</template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                          </el-row>
                                                      </el-row>
                                                  </div>
                                                  <!-- 普通断电 -->
                                                  <div v-if="state.activeNamePoint == 3" class="putongClass"
                                                      style="min-height:40px;">
                                                      <div style="position: relative;">
                                                          <el-button
                                                              style="position: absolute;top: 10px;right:20px;z-index: 2;cursor: pointer;"
                                                              link type="primary" @click="putongAddClick">
                                                              <el-icon>
                                                                  <Plus />
                                                              </el-icon>新增
                                                          </el-button>
                                                          <el-tabs v-model="state.ordintranValue" type="card"
                                                              v-if="item.cutValueList !=null" class="demo-tabs"
                                                              :closable="item.cutValueList.length==1?false:true"
                                                              @tab-remove="removeTab">
                                                              <el-tab-pane v-for="(cut,cutindex) in item.cutValueList"
                                                                  :key="(cutindex+1)" :label="'断电配置'+(cutindex+1)"
                                                                  :name="cutindex">
                                                                  <el-row :gutter="20" style="margin-top:10px;">
                                                                      <el-col :span="6">
                                                                          <el-form-item label="断电模式"
                                                                              :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][cutType]`"
                                                                              :rules="state.rules1.field_mulcutType">
                                                                              <el-select clearable filterable
                                                                                  v-model="cut.cutType"
                                                                                  placeholder="请选择"
                                                                                  @change="cutTypeChange">
                                                                                  <el-option
                                                                                      v-for="cut in state.cutTypeList"
                                                                                      :key="cut.code"
                                                                                      :label="cut.name+'断电'"
                                                                                      :value="cut.code">
                                                                                  </el-option>
                                                                              </el-select>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="6"
                                                                          v-if="cut.cutType ==1&&item.baohanD!='D'">
                                                                          <el-form-item label="断电值≥"
                                                                              :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][cutValue]`"
                                                                              :rules="state.rules1.field_mulcutValue">
                                                                              <el-input v-model="cut.cutValue"
                                                                                  oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                              </el-input>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="6"
                                                                          v-if="cut.cutType ==1&&item.baohanD!='D'">
                                                                          <el-form-item label="复电值＜"
                                                                              :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][resumeValue]`"
                                                                              :rules="state.rules1.field_mulresumeValue">
                                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="cut.resumeValue"
                                                                                  placeholder="请输入">
                                                                              </el-input>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="6"
                                                                          v-if="cut.cutType ==2&&item.baohanD!='D'">
                                                                          <el-form-item label="断电值≤"
                                                                              :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][cutValue]`"
                                                                              :rules="state.rules1.field_mulcutValue1">
                                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="cut.cutValue"
                                                                                  placeholder="请输入">
                                                                              </el-input>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="6"
                                                                          v-if="cut.cutType ==2&&item.baohanD!='D'">
                                                                          <el-form-item label="复电值＞"
                                                                              :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}][resumeValue]`"
                                                                              :rules="state.rules1.field_mulresumeValue1">
                                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="cut.resumeValue"
                                                                                  placeholder="请输入">
                                                                              </el-input>
                                                                          </el-form-item>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <el-button link type="primary"
                                                                              style="margin-top:35px;"
                                                                              @click="addcutdeviceClick">
                                                                              <el-icon>
                                                                                  <Plus />
                                                                              </el-icon>断电设备
                                                                          </el-button>
                                                                      </el-col>
                                                                      <el-col :span="24" style="padding:10px;">
                                                                          <el-collapse v-model="state.collapseAtive"
                                                                              accordion>
                                                                              <el-collapse-item :name="index2"
                                                                                  v-for="(item2,index2) in cut.cutStationList">
                                                                                  <template #title>
                                                                                      <div class="fbc w100"
                                                                                          @click="stopCollapse">
                                                                                          <el-form-item
                                                                                              :prop="`multiplePointBranchList[${index}]cutValueList[${cutindex}]cutStationList[${index2}][stationPlaceName]`"
                                                                                              :rules="state.rules1.field_mulstationPlaceName">
                                                                                              <span
                                                                                                  style="margin-top:20px;">
                                                                                                  <span>分站</span>
                                                                                                  <el-select
                                                                                                      style="margin:0 5px;"
                                                                                                      clearable
                                                                                                      filterable
                                                                                                      v-model="item2.stationPlaceName"
                                                                                                      placeholder="请选择"
                                                                                                      @change="controlPortChange($event,index2)">
                                                                                                      <el-option
                                                                                                          v-for="station in state.stationPlaceNamList"
                                                                                                          :key="station.stationCode"
                                                                                                          :label="station.stationCode+'-'+station.stationPlaceName"
                                                                                                          :value="station.stationCode">
                                                                                                      </el-option>
                                                                                                  </el-select>
                                                                                                  <svg-icon
                                                                                                      class-name="search-icon"
                                                                                                      icon-class="delkong"
                                                                                                      @click.stop="fenzhankong(index2)" />
                                                                                              </span>
                                                                                          </el-form-item>
                                                                                      </div>
                                                                                  </template>
                                                                                  <div style="margin-top:10px">
                                                                                      <vxe-table border ref="tableRef"
                                                                                          :data="item2.controlPortList"
                                                                                          :checkbox-config="checkboxConfig1"
                                                                                          @checkbox-change="selectChangeEvent($event,index2)"
                                                                                          :row-config="{isCurrent:true,keyField:'controlPort'}">
                                                                                          <vxe-column type="checkbox"
                                                                                              width="60">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="controlPort"
                                                                                              title="开出口号">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="controlPortType"
                                                                                              title="控制设备">
                                                                                              <template
                                                                                                  #default="{row}">
                                                                                                  <span
                                                                                                      v-if="row.controlPortType== 1">断电仪</span>
                                                                                                  <span
                                                                                                      v-else>声光报警</span>
                                                                                              </template>
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="pointPlaceName"
                                                                                              title="安装地点">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="feedPointId"
                                                                                              title="馈电测点">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="feedSensorName"
                                                                                              title="馈电设备">
                                                                                          </vxe-column>
                                                                                          <vxe-column title="配置">
                                                                                              <template
                                                                                                  #default="{row}">
                                                                                                  <el-button
                                                                                                      @click="pointputongConfigClick1(row)"
                                                                                                      link
                                                                                                      type="primary">
                                                                                                      配置
                                                                                                  </el-button>
                                                                                              </template>
                                                                                          </vxe-column>
                                                                                      </vxe-table>
                                                                                  </div>
                                                                              </el-collapse-item>
                                                                          </el-collapse>
                                                                      </el-col>
                                                                  </el-row>
                                                              </el-tab-pane>
                                                          </el-tabs>
                                                      </div>
                                                  </div>
                                                  <!-- 配置弹框 -->
                                                  <teleport to="body">
                                                      <vxe-modal esc-closable destroy-on-close :lock-view="false"
                                                          :width="500" :height="500" v-model="state.addModalconfig1"
                                                          resize :mask="true">
                                                          <template #title>
                                                              <div class="w100 h100 fsc mask_title">配置开出口</div>
                                                          </template>
                                                          <template #default>
                                                              <div class="form_box">
                                                                  <el-form ref="formRefconfig1"
                                                                      :model="state.formDataconfig1"
                                                                      :rules="state.rulesconfig1"
                                                                      label-position="top">
                                                                      <el-row :gutter="20">
                                                                          <el-col :span="12">
                                                                              <el-form-item label="开出口编号"
                                                                                  prop="controlPort">
                                                                                  <el-select disabled clearable
                                                                                      filterable
                                                                                      v-model="state.formDataconfig1.controlPort"
                                                                                      placeholder="请选择">
                                                                                      <el-option
                                                                                          v-for="item in state.stationmodelList"
                                                                                          :key="item.id"
                                                                                          :label="item.stationModelName"
                                                                                          :value="item.id">
                                                                                      </el-option>
                                                                                  </el-select>
                                                                              </el-form-item>
                                                                          </el-col>
                                                                          <el-col :span="12">
                                                                              <el-form-item label="控制设备"
                                                                                  prop="controlPortType">
                                                                                  <el-select class="w100" clearable
                                                                                      filterable
                                                                                      v-model="state.formDataconfig1.controlPortType"
                                                                                      placeholder="请选择"
                                                                                      @change="controlPortTypeChange">
                                                                                      <el-option
                                                                                          v-for="item in state.controlPortTypeList"
                                                                                          :key="item.code"
                                                                                          :label="item.name"
                                                                                          :value="item.code">
                                                                                      </el-option>
                                                                                  </el-select>
                                                                              </el-form-item>
                                                                          </el-col>
                                                                          <el-col :span="24">
                                                                              <el-form-item label="安装地点"
                                                                                  prop="pointPlaceName">
                                                                                  <el-select class="w100" clearable
                                                                                      filterable allow-create
                                                                                      v-model="state.formDataconfig1.pointPlaceName"
                                                                                      placeholder="请选择">
                                                                                      <el-option
                                                                                          v-for="item in state.addressInfoList"
                                                                                          :key="item.id"
                                                                                          :label="item.placeName"
                                                                                          :value="item.placeName">
                                                                                      </el-option>
                                                                                  </el-select>
                                                                              </el-form-item>
                                                                          </el-col>
                                                                          <el-col :span="24"
                                                                              v-if="state.formDataconfig1.controlPortType==1">
                                                                              <el-form-item label="馈电测点"
                                                                                  prop="feedPointId">
                                                                                  <el-select class="w100" clearable
                                                                                      filterable allow-create
                                                                                      v-model="state.formDataconfig1.feedPointId"
                                                                                      placeholder="请选择"
                                                                                      @change="feedPointIdChange">
                                                                                      <el-option
                                                                                          v-for="item in state.feedPointIdList"
                                                                                          :key="item.pointId"
                                                                                          :label="item.pointId+'/'+item.sensorName+'/'+item.pointPlaceName"
                                                                                          :value="item.pointId">
                                                                                      </el-option>
                                                                                  </el-select>
                                                                              </el-form-item>
                                                                          </el-col>
                                                                          <el-col :span="24">
                                                                              <el-form-item label="地理位置">
                                                                                  <div class="fbc">
                                                                                      <el-input
                                                                                          v-model="state.formDataconfig1.locationX"
                                                                                          oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                          <template #prefix>
                                                                                              <span>X</span>
                                                                                          </template>
                                                                                      </el-input>
                                                                                      <el-input
                                                                                          v-model="state.formDataconfig1.locationY"
                                                                                          oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                          <template #prefix>
                                                                                              <span>Y</span>
                                                                                          </template>
                                                                                      </el-input>
                                                                                      <el-input
                                                                                          v-model="state.formDataconfig1.locationZ"
                                                                                          oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                                          <template #prefix>
                                                                                              <span>Z</span>
                                                                                          </template>
                                                                                      </el-input>
                                                                                  </div>
                                                                              </el-form-item>
                                                                          </el-col>
                                                                          <el-col :span="24">
                                                                              <el-form-item>
                                                                                  <div class="fec w100">
                                                                                      <el-button
                                                                                          @click="cancelConfigClick">
                                                                                          取消
                                                                                      </el-button>
                                                                                      <el-button type="primary"
                                                                                          @click="onSubmitConfigClick1">
                                                                                          确定
                                                                                      </el-button>
                                                                                  </div>
                                                                              </el-form-item>
                                                                          </el-col>
                                                                      </el-row>
                                                                  </el-form>
                                                              </div>
                                                          </template>
                                                      </vxe-modal>
                                                  </teleport>
                                                  <div v-if="state.activeNamePoint == 4">
                                                      <el-row :gutter="20">
                                                          <el-col :span="8" v-if="item.cutArea!=null">
                                                              <el-form-item label="断电区域"
                                                                  :prop="`multiplePointBranchList[${index}]cutArea[areaIdList]`"
                                                                  :rules="state.rules1.field_mulcutAreaareaIdList">
                                                                  <el-cascader class="w100"
                                                                      v-model="item.cutArea.areaIdList"
                                                                      :options="state.searchTreeList" clearable
                                                                      :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,multiple:true}" />
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8">
                                                              <el-form-item label="断电值≥"
                                                                  :prop="`multiplePointBranchList[${index}]cutArea[cutValue]`"
                                                                  :rules="state.rules1.field_mulcutAreacutValue">
                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" v-model="item.cutArea.cutValue"
                                                                      placeholder="请输入">
                                                                  </el-input>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8">
                                                              <el-form-item label="复电值＜"
                                                                  :prop="`multiplePointBranchList[${index}]cutArea[resumeValue]`"
                                                                  :rules="state.rules1.field_mulcutArearesumeValue">
                                                                  <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                      v-model="item.cutArea.resumeValue"
                                                                      placeholder="请输入">
                                                                  </el-input>
                                                              </el-form-item>
                                                          </el-col>
                                                      </el-row>
                                                  </div>
                                              </el-col>
                                          </el-row>
                                      </el-tab-pane>
                                  </el-tabs>
                              </div>
                          </div>
                          <!-- 普通测点 -->
                          <div v-if="state.formData1.pointType == 1 || state.formData1.pointType == 3">
                              <el-row :gutter="20">
                                  <el-col :span="24" v-if="state.baohanD!='S'">
                                      <p class="activeNameTab" style="padding-left:10px;">
                                          <span v-for="item in state.pointactiveNameList" :key="item.type"
                                              @click="ponitactiveNameTabClick(item.type)">
                                              <span v-if="state.baohanD=='D'">
                                                  <span v-if="state.formData1.needGrandalarm">
                                                      <span class="span"
                                                          :class="state.activeNamePoint ==item.type ? 'active':''"
                                                          v-if="item.type!=4">{{ item.name }}</span>
                                                  </span>
                                                  <span v-else>
                                                      <span class="span"
                                                          :class="state.activeNamePoint ==item.type ? 'active':''"
                                                          v-if="item.type!=4 && item.type!=2">{{ item.name }}</span>
                                                  </span>
                                              </span>
                                              <span v-else>
                                                  <span v-if="state.formData1.needGrandalarm">
                                                      <span class="span"
                                                          :class="state.activeNamePoint ==item.type ? 'active':''">{{ item.name }}</span>
                                                  </span>
                                                  <span v-else>
                                                      <span class="span"
                                                          :class="state.activeNamePoint ==item.type ? 'active':''"
                                                          v-if="item.type!=2">{{ item.name }}</span>
                                                  </span>
                                              </span>
                                          </span>
                                      </p>
                                  </el-col>
                                  <el-col :span="24" v-if="state.baohanD!='S'">
                                      <div class="desc_box" v-if="state.activeNamePoint == 1">
                                          <el-row :gutter="20">
                                              <el-col :span="6">
                                                  <el-form-item label="报警模式" prop="alarmBasic.alarmType">
                                                      <el-select class="w100" clearable filterable
                                                          v-model="state.formData1.alarmBasic.alarmType"
                                                          placeholder="请选择">
                                                          <el-option v-for="item in state.alarmBasicList"
                                                              :key="item.code" :label="item.name+'报警'"
                                                              :value="item.code">
                                                          </el-option>
                                                      </el-select>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="16">
                                                  <el-form-item label="上限报警值" prop="alarmBasic.alarmType1"
                                                      v-if="(state.formData1.alarmBasic.alarmType ==1 || state.formData1.alarmBasic.alarmType ==3)&&state.baohanD!='D'">
                                                      <div class="fbc">
                                                          <el-row :gutter="20">
                                                              <el-col :span="12">
                                                                  <div class="fac">
                                                                      <span class="wn">报警值≥ </span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1').replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1').replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1').replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.alarmBasic.upAlarmValue"
                                                                          placeholder="报警值≥">
                                                                      </el-input>
                                                                  </div>
                                                              </el-col>
                                                              <el-col :span="12">
                                                                  <div class="fac">
                                                                      <span class="wn">解报值＜ </span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.alarmBasic.upRelieveValue"
                                                                          placeholder="解报值＜">
                                                                      </el-input>
                                                                  </div>
                                                              </el-col>
                                                          </el-row>
                                                      </div>
                                                  </el-form-item>
                                                  <el-form-item label="下限报警值" prop="alarmBasic.alarmType2"
                                                      v-if="(state.formData1.alarmBasic.alarmType ==2 || state.formData1.alarmBasic.alarmType ==3)&&state.baohanD!='D'">
                                                      <div class="fbc">
                                                          <el-row :gutter="20">
                                                              <el-col :span="12">
                                                                  <div class="fac">
                                                                      <span class="wn">报警值≤</span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.alarmBasic.downAlarmValue"
                                                                          placeholder="报警值≤">
                                                                      </el-input>
                                                                  </div>
                                                              </el-col>
                                                              <el-col :span="12">
                                                                  <div class="fac">
                                                                      <span class="wn">解报值＞</span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.alarmBasic.downRelieveValue"
                                                                          placeholder="解报值＞">
                                                                      </el-input>
                                                                  </div>
                                                              </el-col>
                                                          </el-row>
                                                      </div>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="8">
                                                  <el-form-item label="" prop="hasPreAlarm" label-position="left">
                                                      <span>预报警</span>
                                                      <el-switch style="margin:0 5px;"
                                                          v-model="state.formData1.prealarmBasic.hasPreAlarm">
                                                      </el-switch>
                                                      <el-button link type="primary" size="small"
                                                          @click="hasPreAlarmdescClick">
                                                          全部详情
                                                      </el-button>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="16"></el-col>
                                              <el-col :span="6"
                                                  v-if="state.baohanD!='D' && state.formData1.prealarmBasic.hasPreAlarm">
                                                  <el-form-item label="上限预报值" prop="prealarmBasic.upPrealarmValue">
                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                          v-model="state.formData1.prealarmBasic.upPrealarmValue"
                                                          placeholder="请输入">
                                                      </el-input>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="6"
                                                  v-if="state.baohanD!='D'&&state.formData1.prealarmBasic.hasPreAlarm">
                                                  <el-form-item label="下限预报值" prop="prealarmBasic.downPrealarmValue">
                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                          v-model="state.formData1.prealarmBasic.downPrealarmValue"
                                                          placeholder="请输入"
                                                          :disabled="!state.formData1.prealarmBasic.hasPreAlarm">
                                                      </el-input>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="12"
                                                  v-if="state.baohanD=='D'&&state.formData1.prealarmBasic.hasPreAlarm">
                                                  <el-row :gutter="20">
                                                      <el-col :span="12" style="margin-top:16px;">
                                                          <el-radio-group
                                                              v-model="state.formData1.prealarmBasic.prealarmType"
                                                              class="fbc">
                                                              <el-radio v-show="item.code!=0" :label="item.code"
                                                                  v-for="item in state.alarmBasicList">
                                                                  {{item.name+'报警'}}</el-radio>
                                                          </el-radio-group>
                                                      </el-col>
                                                  </el-row>
                                              </el-col>
                                              <el-col :span="6" v-if="state.formData1.prealarmBasic.hasPreAlarm">
                                                  <el-form-item label="超时" prop="prealarmTimeout">
                                                      <span class="fac">
                                                          <el-select clearable filterable
                                                              v-model="state.formData1.prealarmBasic.prealarmTimeout"
                                                              placeholder="请选择">
                                                              <el-option v-for="item in state.prealarmTimeoutData"
                                                                  :key="item" :label="item+'分钟'" :value="item">
                                                              </el-option>
                                                          </el-select>
                                                          <span class="wn">分钟</span>
                                                      </span>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="24" v-if="state.baohanD!='D'">
                                                  <el-form-item label="" prop="hasConstantPreAlarm">
                                                      <span>恒值预报警</span>
                                                      <el-switch style="margin:0 5px;"
                                                          v-model="state.formData1.prealarmBasic.hasConstantPreAlarm">
                                                      </el-switch>
                                                      <el-button link type="primary" size="small"
                                                          @click="hasConstantPreAlarmdescClick">
                                                          全部详情
                                                      </el-button>
                                                  </el-form-item>
                                              </el-col>

                                              <el-col :span="8"
                                                  v-if="state.baohanD!='D' && state.formData1.prealarmBasic.hasConstantPreAlarm">
                                                  <el-form-item label="恒值持续时间" prop="prealarmBasic.constantTime">
                                                      <span class="fac">
                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                              v-model="state.formData1.prealarmBasic.constantTime"
                                                              placeholder="请输入">
                                                          </el-input>
                                                          <span class="wn">分钟</span>
                                                      </span>
                                                  </el-form-item>
                                              </el-col>
                                          </el-row>
                                      </div>
                                      <!-- 预报警全部详情弹框 -->
                                      <teleport to="body">
                                          <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="1000"
                                              :height="500" v-model="state.addModalhasPreAlarm" resize :mask="true">
                                              <template #title>
                                                  <div class="w100 h100 fsc mask_title">预报警全部详情</div>
                                              </template>
                                              <template #default>
                                                  <el-row :gutter="20" style="margin:10px 0">
                                                      <el-col :span="8">
                                                          <span class="wn marr5">设备名称</span>
                                                          <el-tree-select clearable
                                                              v-model="state.hasPreAlarmData.condition"
                                                              :data="state.hasPreAlarmData.selList" placeholder="请选择"
                                                              highlight-current
                                                              :props="{  children: 'children',value: 'code', label: 'name'}"
                                                              check-strictly @change="chuangantreeChange1" />
                                                      </el-col>
                                                      <el-col :span="8">
                                                          <el-button class="marl20" type="primary"
                                                              @click="yinyonClick">查询
                                                          </el-button>
                                                          <el-button type="info" @click="cancelyinyonClick">重置
                                                          </el-button>
                                                      </el-col>
                                                  </el-row>
                                                  <vxe-table height="400" :data="state.hasPreAlarmData.tabledata"
                                                      border="inner">
                                                      <vxe-column
                                                          v-for="(item,index) in state.hasPreAlarmData.tableheads"
                                                          :field="item.field" :title="item.title"
                                                          :params="{name:item.name}" :width="item.width?item.width:''"
                                                          :key="index">
                                                      </vxe-column>
                                                      <vxe-column title="操作">
                                                          <template #default="{row}">
                                                              <el-button link type="primary"
                                                                  @click="yubaojingConfigClick(row)">配置</el-button>
                                                          </template>
                                                      </vxe-column>
                                                  </vxe-table>
                                                  <vxe-pager v-if="state.hasPreAlarmData.total>0"
                                                      @page-change="hasPreAlarmpagechange" :background="false"
                                                      class="allbk" align="right"
                                                      :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
                                                      v-model:current-page="state.hasPreAlarmData.query.pageNum"
                                                      v-model:page-size="state.hasPreAlarmData.query.pageSize"
                                                      :total="state.hasPreAlarmData.total">
                                                  </vxe-pager>
                                              </template>
                                          </vxe-modal>
                                      </teleport>
                                      <!-- 恒值预报警全部详情弹框 -->
                                      <teleport to="body">
                                          <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="1000"
                                              :height="500" v-model="state.addModalhasConstantPreAlarm" resize
                                              :mask="true">
                                              <template #title>
                                                  <div class="w100 h100 fsc mask_title">恒值预报警全部详情</div>
                                              </template>
                                              <template #default>
                                                  <el-row :gutter="20" style="margin:10px 0">
                                                      <el-col :span="8">
                                                          <span class="wn marr5">设备名称</span>
                                                          <el-tree-select clearable
                                                              v-model="state.hasConstantPreAlarmData.condition"
                                                              :data="state.hasConstantPreAlarmData.selList"
                                                              placeholder="请选择" highlight-current
                                                              :props="{  children: 'children',value: 'code', label: 'name'}"
                                                              check-strictly @change="chuangantreeChange2" />
                                                      </el-col>
                                                      <el-col :span="8">
                                                          <el-button class="marl20" type="primary"
                                                              @click="yinyonClick1">
                                                              查询
                                                          </el-button>
                                                          <el-button type="info" @click="cancelyinyonClick1">重置
                                                          </el-button>
                                                      </el-col>
                                                  </el-row>
                                                  <vxe-table height="400"
                                                      :data="state.hasConstantPreAlarmData.tabledata" border="inner">
                                                      <vxe-column
                                                          v-for="(item,index) in state.hasConstantPreAlarmData.tableheads"
                                                          :field="item.field" :title="item.title"
                                                          :params="{name:item.name}" :width="item.width?item.width:''"
                                                          :key="index">
                                                      </vxe-column>
                                                      <vxe-column title="操作">
                                                          <template #default="{row}">
                                                              <el-button link type="primary"
                                                                  @click="hengbaojingConfigClick(row)">配置</el-button>
                                                          </template>
                                                      </vxe-column>
                                                  </vxe-table>
                                                  <vxe-pager v-if="state.hasConstantPreAlarmData.total>0"
                                                      @page-change="hasConstantPreAlarmpagechange" :background="false"
                                                      class="allbk" align="right"
                                                      :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
                                                      v-model:current-page="state.hasConstantPreAlarmData.query.pageNum"
                                                      v-model:page-size="state.hasConstantPreAlarmData.query.pageSize"
                                                      :total="state.hasConstantPreAlarmData.total">
                                                  </vxe-pager>
                                              </template>
                                          </vxe-modal>
                                      </teleport>
                                      <!-- 分级配置 -->
                                      <div class="desc_box" v-if="state.activeNamePoint == 2">
                                          <el-row :gutter="20">
                                              <el-col :span="6">
                                                  <el-form-item :label="state.baohanD == 'D'?'分级报警':'上限分级报警'"
                                                      prop="hasUpGrandAlarm">
                                                      <el-switch v-model="state.formData1.hasUpGrandAlarm"
                                                          @change="hasUpGrandAlarmChange" />
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="6" v-if="state.baohanD != 'D'">
                                                  <el-form-item label="下限分级报警" prop="hasDownGrandAlarm">
                                                      <el-switch v-model="state.formData1.hasDownGrandAlarm"
                                                          @change="hasDownGrandAlarmChange" />
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="6">
                                                  <el-form-item label="启用多级报警" prop="hasMoreGrandAlarm">
                                                      <el-switch v-model="state.formData1.hasMoreGrandAlarm" />
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="6" v-if="state.baohanD != 'D'">
                                                  <el-form-item label="启用涨/跌幅" prop="hasChangeGrandAlarm">
                                                      <el-switch v-model="state.formData1.hasChangeGrandAlarm" />
                                                  </el-form-item>
                                              </el-col>
                                          </el-row>
                                          <el-row
                                              v-if="state.formData1.hasUpGrandAlarm && state.formData1.hasDownGrandAlarm">
                                              <el-radio-group v-model="state.radio1">
                                                  <el-radio-button label="上限分级报警" value="上限分级报警" />
                                                  <el-radio-button label="下限分级报警" value="下限分级报警" />
                                              </el-radio-group>
                                          </el-row>
                                          <el-row :gutter="20" style="margin:0 10px"
                                              v-if="state.radio1=='上限分级报警' && state.formData1.hasUpGrandAlarm">
                                              <el-row :gutter="20" v-if="state.baohanD != 'D'">
                                                  <el-col :span="24" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <p class="drawer_sub_title"
                                                          style="margin-left:0;padding-top:10px;">
                                                          <span>
                                                              变化参数设置</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label="变化率判断门限≥"
                                                          prop="upGrandalarmBasic.grandalarmRate.thresholdValue">
                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                              v-model="state.formData1.upGrandalarmBasic.grandalarmRate.thresholdValue"
                                                              placeholder="请输入">
                                                              <template #append>{{state.baohanunit}}</template>
                                                          </el-input>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label="变化率持续周期"
                                                          prop="upGrandalarmBasic.grandalarmRate.rateCycle">
                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                              v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateCycle"
                                                              placeholder="请输入">
                                                              <template #append>秒</template>
                                                          </el-input>
                                                      </el-form-item>
                                                  </el-col>
                                              </el-row>
                                              <el-row :gutter="20">
                                                  <el-col :span="24" v-if="state.formData1.hasMoreGrandAlarm">
                                                      <el-row :gutter="20">
                                                          <el-col :span="24">
                                                              <p class="pfz">六级报警</p>
                                                          </el-col>
                                                          <el-col :span="8" v-if="state.baohanD != 'D'">
                                                              <el-form-item label=""
                                                                  prop="upGrandalarmBasic.grandsixValue">
                                                                  <div class="fac">
                                                                      <span class="wn">上限预报值≥</span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.upGrandalarmBasic.grandsixValue"
                                                                          placeholder="请输入">
                                                                          <template
                                                                              #append>{{state.baohanunit}}</template>
                                                                      </el-input>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8">
                                                              <el-form-item label=""
                                                                  prop="upGrandalarmBasic.grandsixTime">
                                                                  <div class="fac">
                                                                      <span class="wn"
                                                                          v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.upGrandalarmBasic.grandsixTime"
                                                                          placeholder="请输入">
                                                                          <template #append>分钟</template>
                                                                      </el-input>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8"
                                                              v-if="state.formData1.hasChangeGrandAlarm">
                                                              <el-form-item label=""
                                                                  prop="upGrandalarmBasic.grandalarmRate.rateSixValue">
                                                                  <div class="fac">
                                                                      <span class="wn">或 跌幅≥</span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                          placeholder="请输入">
                                                                          <template
                                                                              #append>{{state.baohanunit}}</template>
                                                                      </el-input>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="24">
                                                              <p class="pfz">五级报警</p>
                                                          </el-col>
                                                          <el-col :span="8" v-if="state.baohanD != 'D'">
                                                              <el-form-item label=""
                                                                  prop="upGrandalarmBasic.grandfiveValue"
                                                                  v-if="state.formData1.hasMoreGrandAlarm">
                                                                  <div class="fac">
                                                                      <span class="wn">下限预报值≤</span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.upGrandalarmBasic.grandfiveValue"
                                                                          placeholder="请输入">
                                                                          <template
                                                                              #append>{{state.baohanunit}}</template>
                                                                      </el-input>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8">
                                                              <el-form-item label=""
                                                                  prop="upGrandalarmBasic.grandfiveTime">
                                                                  <div class="fac">
                                                                      <span class="wn"
                                                                          v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.upGrandalarmBasic.grandfiveTime"
                                                                          placeholder="请输入">
                                                                          <template #append>分钟</template>
                                                                      </el-input>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="8"
                                                              v-if="state.formData1.hasChangeGrandAlarm">
                                                              <el-form-item label=""
                                                                  prop="upGrandalarmBasic.grandalarmRate.rateFiveValue">
                                                                  <div class="fac">
                                                                      <span class="wn">或 跌幅≥</span>
                                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                          v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                          placeholder="请输入">
                                                                          <template
                                                                              #append>{{state.baohanunit}}</template>
                                                                      </el-input>
                                                                  </div>
                                                              </el-form-item>
                                                          </el-col>
                                                      </el-row>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">四级报警</p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.baohanD != 'D'">
                                                      <el-form-item label="" prop="upGrandalarmBasic.grandfourValue">
                                                          <div class="fac">
                                                              <span class="wn">上限预报值≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandfourValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="upGrandalarmBasic.grandfourTime">
                                                          <div class="fac">
                                                              <span class="wn"
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandfourTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="upGrandalarmBasic.grandalarmRate.rateFourValue">
                                                          <div class="fac">
                                                              <span class="wn">或 涨幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">三级报警</p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.baohanD != 'D'">
                                                      <el-form-item label="" prop="upGrandalarmBasic.grandthreeValue">
                                                          <div class="fac">
                                                              <span class="wn">上限预报值≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandthreeValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="upGrandalarmBasic.grandthreeTime">
                                                          <div class="fac">
                                                              <span class="wn"
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandthreeTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="upGrandalarmBasic.grandalarmRate.rateThreeValue">
                                                          <div class="fac">
                                                              <span class="wn">或 涨幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">二级报警</p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.baohanD != 'D'">
                                                      <el-form-item label="" prop="upGrandalarmBasic.grandtwoValue">
                                                          <div class="fac">
                                                              <span class="wn">上限预报值≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandtwoValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item prop="upGrandalarmBasic.grandtwoTime">
                                                          <div class="fac">
                                                              <span class="wn"
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandtwoTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item
                                                          prop="upGrandalarmBasic.grandalarmRate.rateTwoValue">
                                                          <div class="fac">
                                                              <span class="wn">或 涨幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">一级报警</p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.baohanD != 'D'">
                                                      <el-form-item label="" prop="upGrandalarmBasic.grandoneValue">
                                                          <div class="fac">
                                                              <span class="wn">上限预报值≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandoneValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item prop="upGrandalarmBasic.grandoneTime">
                                                          <div class="fac">
                                                              <span class="wn"
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandoneTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item
                                                          prop="upGrandalarmBasic.grandalarmRate.rateOneValue">
                                                          <div class="fac">
                                                              <span class="wn">或 涨幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                              </el-row>
                                          </el-row>
                                          <el-row :gutter="20" style="margin:0 10px"
                                              v-if="state.radio1=='下限分级报警' && state.formData1.hasDownGrandAlarm">
                                              <el-row :gutter="20">
                                                  <el-col :span="24" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <p class="drawer_sub_title"
                                                          style="margin-left:0;padding-top:10px;">
                                                          <span>
                                                              变化参数设置</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label="变化率判断门限≤"
                                                          prop="downGrandalarmBasic.grandalarmRate.thresholdValue">
                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                              v-model="state.formData1.downGrandalarmBasic.grandalarmRate.thresholdValue"
                                                              placeholder="请输入">
                                                              <template #append>{{state.baohanunit}}</template>
                                                          </el-input>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label="变化率持续周期"
                                                          prop="downGrandalarmBasic.grandalarmRate.rateCycle">
                                                          <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                              v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateCycle"
                                                              placeholder="请输入">
                                                              <template #append>秒</template>
                                                          </el-input>
                                                      </el-form-item>
                                                  </el-col>
                                              </el-row>
                                              <el-row :gutter="20" v-if="state.formData1.hasMoreGrandAlarm">
                                                  <el-col :span="24">
                                                      <p class="pfz">六级报警</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandsixValue">
                                                          <div class="fac">
                                                              <span class="wn">下限预报值≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandsixValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandsixTime">
                                                          <div class="fac">
                                                              <span class="wn">或 持续时间≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandsixTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandalarmRate.rateSixValue">
                                                          <div class="fac">
                                                              <span class="wn">或 跌幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateSixValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">五级报警</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandfiveValue"
                                                          v-if="state.formData1.hasMoreGrandAlarm">
                                                          <div class="fac">
                                                              <span class="wn">下限预报值≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandfiveValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandfiveTime">
                                                          <div class="fac">
                                                              <span class="wn">或 持续时间≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandfiveTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandalarmRate.rateFiveValue">
                                                          <div class="fac">
                                                              <span class="wn">或 跌幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                              </el-row>
                                              <el-row :gutter="20">
                                                  <el-col :span="24">
                                                      <p class="pfz">四级报警</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandfourValue">
                                                          <div class="fac">
                                                              <span class="wn">下限预报值≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandfourValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandfourTime">
                                                          <div class="fac">
                                                              <span class="wn">或 持续时间≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandfourTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandalarmRate.rateFourValue">
                                                          <div class="fac">
                                                              <span class="wn">或 跌幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">三级报警</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandthreeValue">
                                                          <div class="fac">
                                                              <span class="wn">下限预报值≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandthreeValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandthreeTime">
                                                          <div class="fac">
                                                              <span class="wn">或 持续时间≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandthreeTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandalarmRate.rateThreeValue">
                                                          <div class="fac">
                                                              <span class="wn">或 跌幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">二级报警</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandtwoValue">
                                                          <div class="fac">
                                                              <span class="wn">下限预报值≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandtwoValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandtwoTime">
                                                          <div class="fac">
                                                              <span class="wn">或 持续时间≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandtwoTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandalarmRate.rateTwoValue">
                                                          <div class="fac">
                                                              <span class="wn">或 跌幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="24">
                                                      <p class="pfz">一级报警</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandoneValue">
                                                          <div class="fac">
                                                              <span class="wn">下限预报值≤</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandoneValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <el-form-item label="" prop="downGrandalarmBasic.grandoneTime">
                                                          <div class="fac">
                                                              <span class="wn">或 持续时间></span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandoneTime"
                                                                  placeholder="请输入">
                                                                  <template #append>分钟</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.hasChangeGrandAlarm">
                                                      <el-form-item label=""
                                                          prop="downGrandalarmBasic.grandalarmRate.rateOneValue">
                                                          <div class="fac">
                                                              <span class="wn">或 跌幅≥</span>
                                                              <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
  '.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
  .replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
  .replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                                  v-model="state.formData1.downGrandalarmBasic.grandalarmRate.rateOneValue"
                                                                  placeholder="请输入">
                                                                  <template #append>{{state.baohanunit}}</template>
                                                              </el-input>
                                                          </div>
                                                      </el-form-item>
                                                  </el-col>
                                              </el-row>
                                          </el-row>
                                      </div>
                                      <!-- 普通断电 -->
                                      <div class="desc_box putongClass" v-if="state.activeNamePoint == 3">
                                          <div style="position: relative;min-height:50px;">
                                              <el-button
                                                  style="position: absolute;top: 10px;right:20px;z-index: 2;cursor: pointer;"
                                                  link type="primary" @click="putongAddClick">
                                                  <el-icon>
                                                      <Plus />
                                                  </el-icon>新增
                                              </el-button>
                                              <el-tabs v-model="state.ordintranValue" type="card" class="demo-tabs"
                                                  v-if="state.formData1.cutValueList!=null"
                                                  :closable="state.formData1.cutValueList.length==1?false:true"
                                                  @tab-remove="removeTab">
                                                  <el-tab-pane v-for="(item,index) in state.formData1.cutValueList"
                                                      :key="(index+1)" :label="'断电配置'+(index+1)" :name="index">
                                                      <el-row :gutter="20" style="margin-top:10px;">
                                                          <el-col :span="6">
                                                              <el-form-item label="断电模式"
                                                                  :prop="`cutValueList[${index}][cutType]`"
                                                                  :rules="state.rules1.field_cutType">
                                                                  <el-select clearable filterable
                                                                      v-model="item.cutType" placeholder="请选择"
                                                                      @change="cutTypeChange">
                                                                      <el-option v-for="item in state.cutTypeList"
                                                                          :key="item.code" :label="item.name+'断电'"
                                                                          :value="item.code">
                                                                      </el-option>
                                                                  </el-select>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6"
                                                              v-if="item.cutType ==1&&state.baohanD!='D'">
                                                              <el-form-item label="断电值≥"
                                                                  :prop="`cutValueList[${index}][cutValue]`"
                                                                  :rules="state.rules1.field_cutValue">
                                                                  <el-input v-model="item.cutValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                  </el-input>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6"
                                                              v-if="item.cutType ==1&&state.baohanD!='D'">
                                                              <el-form-item label="复电值＜"
                                                                  :prop="`cutValueList[${index}][resumeValue]`"
                                                                  :rules="state.rules1.field_resumeValue">
                                                                  <el-input v-model="item.resumeValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                  </el-input>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6"
                                                              v-if="item.cutType ==2&&state.baohanD!='D'">
                                                              <el-form-item label="断电值≤"
                                                                  :prop="`cutValueList[${index}][cutValue]`"
                                                                  :rules="state.rules1.field_cutValue">
                                                                  <el-input v-model="item.cutValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                  </el-input>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6"
                                                              v-if="item.cutType ==2&&state.baohanD!='D'">
                                                              <el-form-item label="复电值＞"
                                                                  :prop="`cutValueList[${index}][resumeValue]`"
                                                                  :rules="state.rules1.field_resumeValue">
                                                                  <el-input v-model="item.resumeValue" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')" placeholder="请输入">
                                                                  </el-input>
                                                              </el-form-item>
                                                          </el-col>
                                                          <el-col :span="6">
                                                              <el-button link type="primary" style="margin-top:35px;"
                                                                  @click="addcutdeviceClick">
                                                                  <el-icon>
                                                                      <Plus />
                                                                  </el-icon>断电设备
                                                              </el-button>
                                                          </el-col>
                                                          <el-col :span="24" style="padding:10px;">
                                                              <el-collapse v-model="state.collapseAtive" accordion>
                                                                  <el-collapse-item :name="index2"
                                                                      v-for="(item2,index2) in item.cutStationList">
                                                                      <template #title>
                                                                          <div class="fbc w100" @click="stopCollapse">
                                                                              <span style="padding-top:22px;">
                                                                                  <el-form-item label=""
                                                                                      :prop="`cutValueList[${index}]cutStationList[${index2}][stationPlaceName]`"
                                                                                      :rules="state.rules1.field_stationPlaceName">
                                                                                      <span>分站</span>
                                                                                      <el-select clearable filterable
                                                                                          v-model="item2.stationCode"
                                                                                          placeholder="请选择"
                                                                                          @change="controlPortChange($event,index2)">
                                                                                          <el-option
                                                                                              v-for="item in state.stationPlaceNamList"
                                                                                              :key="item.stationCode"
                                                                                              :label="item.stationCode+'-'+item.stationPlaceName"
                                                                                              :value="item.stationCode">
                                                                                          </el-option>
                                                                                      </el-select>
                                                                                      <svg-icon
                                                                                          class-name="search-icon"
                                                                                          icon-class="delkong"
                                                                                          @click.stop="fenzhankong(index2)" />
                                                                                  </el-form-item>
                                                                              </span>
                                                                          </div>
                                                                      </template>
                                                                      <div style="margin-top: 10px;">
                                                                          <vxe-table border ref="tableRef55"
                                                                              :data="item2.controlPortList"
                                                                              :checkbox-config="checkboxConfig"
                                                                              @checkbox-change="selectChangeEvent"
                                                                              :row-config="{isCurrent:true,keyField:'controlPort'}">
                                                                              <vxe-column type="checkbox" width="60">
                                                                              </vxe-column>
                                                                              <vxe-column field="controlPort"
                                                                                  title="开出口号">
                                                                              </vxe-column>
                                                                              <vxe-column field="controlPortType"
                                                                                  title="控制设备">
                                                                                  <template #default="{row}">
                                                                                      <span
                                                                                          v-if="row.controlPortType== 1">断电仪</span>
                                                                                      <span v-else>声光报警</span>
                                                                                  </template>
                                                                              </vxe-column>
                                                                              <vxe-column field="pointPlaceName"
                                                                                  title="安装地点">
                                                                              </vxe-column>
                                                                              <vxe-column field="feedPointId"
                                                                                  title="馈电测点">
                                                                              </vxe-column>
                                                                              <vxe-column field="feedSensorName"
                                                                                  title="馈电设备">
                                                                              </vxe-column>
                                                                              <vxe-column title="配置">
                                                                                  <template #default="{row}">
                                                                                      <el-button
                                                                                          @click="pointputongConfigClick(row)"
                                                                                          link type="primary">配置
                                                                                      </el-button>
                                                                                  </template>
                                                                              </vxe-column>
                                                                          </vxe-table>
                                                                      </div>
                                                                  </el-collapse-item>
                                                              </el-collapse>
                                                          </el-col>
                                                      </el-row>
                                                  </el-tab-pane>
                                              </el-tabs>
                                          </div>
                                      </div>
                                      <!-- 配置弹框 -->
                                      <teleport to="body">
                                          <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="500"
                                              :height="500" v-model="state.addModalconfig" resize :mask="true">
                                              <template #title>
                                                  <div class="w100 h100 fsc mask_title">配置开出口</div>
                                              </template>
                                              <template #default>
                                                  <div class="form_box">
                                                      <el-form ref="formRefconfig" :model="state.formDataconfig"
                                                          :rules="state.rulesconfig" label-position="top">
                                                          <el-row :gutter="20">
                                                              <el-col :span="12">
                                                                  <el-form-item label="开出口编号" prop="controlPort">
                                                                      <el-select disabled clearable filterable
                                                                          v-model="state.formDataconfig.controlPort"
                                                                          placeholder="请选择">
                                                                          <el-option
                                                                              v-for="item in state.stationmodelList"
                                                                              :key="item.id"
                                                                              :label="item.stationModelName"
                                                                              :value="item.id">
                                                                          </el-option>
                                                                      </el-select>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="12">
                                                                  <el-form-item label="控制设备" prop="controlPortType">
                                                                      <el-select class="w100" clearable filterable
                                                                          v-model="state.formDataconfig.controlPortType"
                                                                          placeholder="请选择"
                                                                          @change="controlPortTypeChange">
                                                                          <el-option
                                                                              v-for="item in state.controlPortTypeList"
                                                                              :key="item.code" :label="item.name"
                                                                              :value="item.code">
                                                                          </el-option>
                                                                      </el-select>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <el-form-item label="安装地点" prop="pointPlaceName">
                                                                      <el-select class="w100" clearable filterable
                                                                          allow-create
                                                                          v-model="state.formDataconfig.pointPlaceName"
                                                                          placeholder="请选择">
                                                                          <el-option
                                                                              v-for="item in state.addressInfoList"
                                                                              :key="item.id" :label="item.placeName"
                                                                              :value="item.placeName">
                                                                          </el-option>
                                                                      </el-select>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24"
                                                                  v-if="state.formDataconfig.controlPortType==1">
                                                                  <el-form-item label="馈电测点" prop="feedPointId">
                                                                      <el-select class="w100" clearable filterable
                                                                          allow-create
                                                                          v-model="state.formDataconfig.feedPointId"
                                                                          placeholder="请选择"
                                                                          @change="feedPointIdChange">
                                                                          <el-option
                                                                              v-for="item in state.feedPointIdList"
                                                                              :key="item.pointId"
                                                                              :label="item.pointId+'/'+item.sensorName+'/'+item.pointPlaceName"
                                                                              :value="item.pointId">
                                                                          </el-option>
                                                                      </el-select>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <el-form-item label="地理位置">
                                                                      <div class="fbc">
                                                                          <el-input
                                                                              v-model="state.formDataconfig.locationX"
                                                                              oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                              <template #prefix>
                                                                                  <span>X</span>
                                                                              </template>
                                                                          </el-input>
                                                                          <el-input
                                                                              v-model="state.formDataconfig.locationY"
                                                                              oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                              <template #prefix>
                                                                                  <span>Y</span>
                                                                              </template>
                                                                          </el-input>
                                                                          <el-input
                                                                              v-model="state.formDataconfig.locationZ"
                                                                              oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                                              <template #prefix>
                                                                                  <span>Z</span>
                                                                              </template>
                                                                          </el-input>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                              <el-col :span="24">
                                                                  <el-form-item>
                                                                      <div class="fec w100">
                                                                          <el-button @click="cancelConfigClick">取消
                                                                          </el-button>
                                                                          <el-button type="primary"
                                                                              @click="onSubmitConfigClick">确定
                                                                          </el-button>
                                                                      </div>
                                                                  </el-form-item>
                                                              </el-col>
                                                          </el-row>
                                                      </el-form>
                                                  </div>
                                              </template>
                                          </vxe-modal>
                                      </teleport>
                                      <div class="desc_box" v-if="state.activeNamePoint == 4">
                                          <el-row :gutter="20">
                                              <el-col :span="8">
                                                  <el-form-item label="断电区域" prop="cutArea.areaIdList">
                                                      <el-cascader class="w100"
                                                          v-model="state.formData1.cutArea.areaIdList"
                                                          :options="state.searchTreeList" clearable
                                                          :props="{  children: 'childList',value: 'id', label: 'areaName',emitPath:false,multiple:true}" />
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="8">
                                                  <el-form-item :label="state.baohanD!='D'?'断电值':'断电值≥'"
                                                      prop="cutArea.cutValue">
                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                          v-model="state.formData1.cutArea.cutValue"
                                                          placeholder="请输入">
                                                      </el-input>
                                                  </el-form-item>
                                              </el-col>
                                              <el-col :span="8">
                                                  <el-form-item :label="state.baohanD!='D'?'复电值':'复电值＜'"
                                                      prop="cutArea.resumeValue">
                                                      <el-input oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')"
                                                          v-model="state.formData1.cutArea.resumeValue"
                                                          placeholder="请输入">
                                                      </el-input>
                                                  </el-form-item>
                                              </el-col>
                                          </el-row>
                                      </div>
                                  </el-col>
                              </el-row>
                          </div>
                      </el-form>
                  </div>
                  <div class="footer_card fbc">
                      <div>
                          <el-button class="btn" type="danger" v-if="state.editpointId" plain @click="delpointClick">
                              删除节点</el-button>
                      </div>
                      <div>
                          <el-button class="btn" type="info" @click="cancelpointClick">取消</el-button>
                          <el-button class="btn" type="primary" @click="addpointClick">确定</el-button>
                      </div>
                  </div>
              </el-col>
              <!-- 新增表达式模板 -->
              <teleport to="body">
                  <vxe-modal esc-closable destroy-on-close :lock-view="false" :width="848" :height="auto"
                      v-model="state.addtemModal" resize :mask="true">
                      <template #title>
                          <div class="w100 h100 fsc mask_title">新增模板</div>
                      </template>
                      <template #default>
                          <el-row :gutter="20" style="margin-left:10px;margin-right:10px;">
                              <temconfigCom :mobanType="state.mobanType" @addModal="addtemModalcancel">
                                  <template v-slot:formtemDatatype>
                                      <el-form-item label="模板类型" style="margin-right:20px">
                                          <el-select v-model="state.mobanType" placeholder="请选择" clearable
                                              @change="mobanTypeChange">
                                              <el-option v-for="dict in state.conditionList1" :key="dict.code"
                                                  :label="dict.name" :value="dict.code" />
                                          </el-select>
                                      </el-form-item>
                                  </template>
                              </temconfigCom>
                          </el-row>
                      </template>
                  </vxe-modal>
              </teleport>
              <!-- 测点详情 -->
              <el-col :span="19" v-if="state.addShowdetailPoint ==true">
                  <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="p_btn">
                              <oneclickDelivery></oneclickDelivery>
                          </p>
                          <p class="title_r fbc">
                              <span>
                                  <span class="fz16 hover"
                                      @click="stationBtndesc(state.formData1.stationCode)">分站信息</span>
                                  <span class="fz16 active">测点信息</span>
                              </span>
                              <span>
                                  <el-button link size="small" type="primary" @click="editstationPointBtn('',1)">
                                      <svg-icon class-name="search-icon" icon-class="editponit" />编辑</el-button>
                                  <el-button link size="small" type="primary"
                                      @click.stop="deletetreepoint(state.datatreeId)">
                                      <svg-icon class-name="search-icon" icon-class="delpoint" />删除
                                  </el-button>
                              </span>
                          </p>
                      </div>
                      <div class="formBox">
                          <div class="desc_box">
                              <p class="drawer_sub_title">
                                  <span>
                                      <svg-icon class-name="search-icon" icon-class="map" />
                                      {{state.formData1.pointPlaceName}}</span>
                              </p>
                              <el-row :gutter="20" class="el-drawer_mash">
                                  <el-col :span="6">
                                      <div style="text-align:center;margin-top:10%;">
                                          <div style="position:relative;">
                                              <img v-if="state.formData1.sensorImagePath"
                                                  style="width:80px;height:80px"
                                                  :src="state.formData1.sensorImagePath" alt="" />
                                              <img v-else src="@/assets/images/noimg.png" />
                                              <span style="position:absolute;left:50%;bottom:-10px;transform:translateX(-50%);
                                              font-size:12px;background-color:rgba(103, 194, 58, 1);padding:2px 4px;
                                              border-radius:4px;color:#fff;font-weight:700;"
                                                  v-if="state.formData1.pointStatus == 0">{{state.formData1.pointStatusName }}</span>
                                          </div>
                                          <p style="font-weight:700;font-size:14px">
                                              {{state.formData1.sensorName}}<span
                                                  v-if="state.formData1.pointType == 1">【{{ state.formData1.scale }}】</span>
                                          </p>
                                          <p style="font-size:14px"><span>{{state.formData1.pointVersion}}</span>
                                              <el-button size="small" type="primary" link>发现新版本
                                                  <svg-icon class-name="search-icon" icon-class="upload" />
                                              </el-button>
                                          </p>
                                      </div>
                                  </el-col>
                                  <el-col v-if="state.mulpointTypeName != '多参'" :span="18" class="el-drawer_desc">
                                      <el-row :gutter="20">
                                          <el-col :span="8">
                                              <p>测点编号</p>
                                              <p>{{state.formData1.pointId}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>测点类型</p>
                                              <p>{{state.formData1.pointTypeName}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>类型</p>
                                              <p v-if="state.baohanD == 'D'">开关量</p>
                                              <p v-else-if="state.baohanD == 'S'">累计量</p>
                                              <p v-else>模拟量</p>
                                          </el-col>
                                          <el-col :span="8" v-if="state.formData1.pointType != 3">
                                              <p>数值</p>
                                              <p><span
                                                      style="color:rgba(103, 194, 58, 1);">{{state.formData1.pointValue}}</span>{{state.formData1.sensorUnit}}
                                              </p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>所属区域</p>
                                              <p>{{state.formData1.pointAreaName}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>安装时间</p>
                                              <p>{{state.formData1.createTime}}</p>
                                          </el-col>
                                          <el-col :span="8" v-if="state.formData1.pointType != 3">
                                              <p>设备唯一编号</p>
                                              <p v-if="state.formData1.pointIdentifyingNo!=null">
                                                  {{state.formData1.pointIdentifyingNo}}</p>
                                              <p v-else>-</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>地理位置(X Y Z)</p>
                                              <span class="chaolink"
                                                  v-if="state.formData1.locationX !=null ||  state.formData1.locationY!=null||state.formData1.locationZ!=null">
                                                  {{state.formData1.locationX}},{{state.formData1.locationY}},{{state.formData1.locationZ}}
                                              </span>
                                              <span v-else>-</span>
                                          </el-col>
                                          <el-col :span="24" v-if="state.formData1.needPlaceType">
                                              <p>地点类型</p>
                                              <p v-if="state.formData1.placeTypeName!=null">
                                                  {{state.formData1.placeTypeName}}{{state.formData1.placeTypeCode}}
                                                  <el-popover v-if="state.formData1.placeType !=null"
                                                      placement="right" :width="650" popper-style="padding: 20px;">
                                                      <template #reference>
                                                          <svg-icon class-name="search-icon" icon-class="msg" />
                                                      </template>
                                                      <template #default>
                                                          <el-row :gutter="20" class="el-drawer_mash"
                                                              v-if="state.formData1.placeType">
                                                              <el-col :span="5">
                                                                  <img v-if="state.formData1.placeType.imagePath !=null"
                                                                      class="w100" style="height:160px"
                                                                      :src="state.formData1.placeType.imagePath" />
                                                                  <img v-else src="@/assets/images/noimg.png" />
                                                              </el-col>
                                                              <el-col :span="19">
                                                                  <el-row :gutter="20">
                                                                      <el-col :span="24">
                                                                          <p>{{ state.formData1.placeType.sensorType }}设置地点
                                                                          </p>
                                                                          <p>{{ state.formData1.placeType.cutArea }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>{{ state.formData1.placeType.sensorType }}编号
                                                                          </p>
                                                                          <p>{{ state.formData1.placeType.typeCode }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>报警浓度(%)</p>
                                                                          <p>{{ state.formData1.placeType.alarmValue }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>断电浓度(%)</p>
                                                                          <p>{{ state.formData1.placeType.cutValue }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>复电浓度(%)</p>
                                                                          <p>{{ state.formData1.placeType.resumeValue }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="24">
                                                                          <p>断电范围</p>
                                                                          <p>{{ state.formData1.placeType.cutArea }}
                                                                          </p>
                                                                      </el-col>
                                                                  </el-row>
                                                              </el-col>
                                                          </el-row>
                                                      </template>
                                                  </el-popover>
                                              </p>
                                              <p v-else>-</p>
                                          </el-col>
                                      </el-row>
                                  </el-col>
                                  <!-- 多参测点 -->
                                  <el-col v-else :span="18" class="el-drawer_desc">
                                      <el-row :gutter="20">
                                          <el-col :span="8">
                                              <p>测点类型</p>
                                              <p>{{state.formData1.pointTypeName}}</p>
                                          </el-col>

                                          <el-col :span="8">
                                              <p>所属区域</p>
                                              <p>{{state.formData1.pointAreaName}}</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>设备唯一编号</p>
                                              <p v-if="state.formData1.pointIdentifyingNo!=null">
                                                  {{state.formData1.pointIdentifyingNo}}</p>
                                              <p v-else>-</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>安装时间</p>
                                              <p>{{state.formData1.createTime}}</p>
                                          </el-col>

                                          <el-col :span="16">
                                              <p>地理位置(X Y Z)</p>
                                              <span class="chaolink"
                                                  v-if="state.formData1.locationX !=null ||  state.formData1.locationY!=null||state.formData1.locationZ!=null">
                                                  {{state.formData1.locationX}},{{state.formData1.locationY}},{{state.formData1.locationZ}}
                                              </span>
                                              <span v-else>-</span>
                                          </el-col>
                                          <el-col :span="16" v-if="state.formData1.needPlaceType">
                                              <p>地点类型</p>
                                              <p v-if="state.formData1.placeTypeName!=null">
                                                  {{state.formData1.placeTypeName}}{{state.formData1.placeTypeCode}}
                                                  <el-popover v-if="state.formData1.placeType !=null"
                                                      placement="right" :width="650" popper-style="padding: 20px;">
                                                      <template #reference>
                                                          <svg-icon class-name="search-icon" icon-class="msg" />
                                                      </template>
                                                      <template #default>
                                                          <el-row :gutter="20" class="el-drawer_mash"
                                                              v-if="state.formData1.placeType">
                                                              <el-col :span="5">
                                                                  <img v-if="state.formData1.placeType.imagePath !=null"
                                                                      class="w100" style="height:160px"
                                                                      :src="state.formData1.placeType.imagePath" />
                                                                  <img v-else src="@/assets/images/noimg.png" />
                                                              </el-col>
                                                              <el-col :span="19">
                                                                  <el-row :gutter="20">
                                                                      <el-col :span="24">
                                                                          <p>{{ state.formData1.placeType.sensorType }}设置地点
                                                                          </p>
                                                                          <p>{{ state.formData1.placeType.cutArea }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>{{ state.formData1.placeType.sensorType }}编号
                                                                          </p>
                                                                          <p>{{ state.formData1.placeType.typeCode }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>报警浓度(%)</p>
                                                                          <p>{{ state.formData1.placeType.alarmValue }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>断电浓度(%)</p>
                                                                          <p>{{ state.formData1.placeType.cutValue }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>复电浓度(%)</p>
                                                                          <p>{{ state.formData1.placeType.resumeValue }}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="24">
                                                                          <p>断电范围</p>
                                                                          <p>{{ state.formData1.placeType.cutArea }}
                                                                          </p>
                                                                      </el-col>
                                                                  </el-row>
                                                              </el-col>
                                                          </el-row>
                                                      </template>
                                                  </el-popover>
                                              </p>
                                              <p v-else>-</p>
                                          </el-col>
                                          <el-col :span="8">
                                              <p>最后一次上线时间</p>
                                              <p>
                                                  <span class="chaolink">{{state.formData1.lastOnlineTime}}
                                                  </span>
                                              </p>
                                          </el-col>
                                      </el-row>
                                  </el-col>
                                  <el-col :span="24" v-if="state.formData1.pointType == 2">
                                      <el-row :gutter="18">
                                          <el-col :span="12"
                                              v-for="(item,index)  in state.formData1.multiplePointBranchList">
                                              <p>参数{{index+1}}</p>
                                              <p>{{item.name}}
                                                  <em v-if="item.pointValue!=null" style="font-style:normal;color:rgba(103, 194, 58, 1);
                                                  font-size:16px;font-weight:bold;">{{item.pointValue}}
                                                  </em><em v-else>-</em>{{ item.sensorUnit }}
                                              </p>
                                          </el-col>
                                      </el-row>
                                  </el-col>
                              </el-row>
                          </div>
                          <div class="el-drawer_mash">
                              <!-- 多参测点详情 -->
                              <el-col :span="24" v-if="state.formData1.pointType == 2">
                                  <el-row :gutter="20">
                                      <el-col :span="24">
                                          <div class="activeNameTab" style="display:flex;">
                                              <el-tabs v-model="state.mulactiveNamePoint" class="demo-tabs w100"
                                                  @tab-click="handleClick">
                                                  <el-tab-pane
                                                      v-for="(item,index) in state.formData1.multiplePointBranchList"
                                                      :label="item.childIndxName !=null ? item.sensorName+'-'+item.childIndexName : item.sensorName"
                                                      :name="item.sensorId">
                                                      <el-row :gutter="20"
                                                          v-if="state.mulactiveNamePoint ==item.sensorId">
                                                          <el-col :span="24">
                                                              <p class="activeNameTab"
                                                                  style="margin-top:12px;margin-bottom:0;"
                                                                  v-if="item.baohanD !='S'">
                                                                  <span
                                                                      v-for="(point,pointIndex) in state.pointactiveNameList"
                                                                      :key="point.type"
                                                                      @click="ponitactiveNameTabClick(point.type)">
                                                                      <span v-if="item.baohanD=='D'">
                                                                          <span v-if="item.needGrandalarm">
                                                                              <span class="span1"
                                                                                  :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                                  v-if="point.type!=4">{{ point.name }}</span>
                                                                          </span>
                                                                          <span v-else>
                                                                              <span class="span1"
                                                                                  :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                                  v-if="point.type!=4 && point.type!=2">{{ point.name }}</span>
                                                                          </span>
                                                                      </span>
                                                                      <span v-else>
                                                                          <span v-if="item.needGrandalarm">
                                                                              <span class="span1"
                                                                                  :class="state.activeNamePoint ==point.type ? 'active1':''">{{ point.name }}</span>
                                                                          </span>
                                                                          <span v-else>
                                                                              <span class="span1"
                                                                                  :class="state.activeNamePoint ==point.type ? 'active1':''"
                                                                                  v-if="point.type!=2">{{ point.name }}</span>
                                                                          </span>
                                                                      </span>
                                                                  </span>
                                                              </p>
                                                          </el-col>
                                                          <div class="desc_box w100" v-if="item.baohanD !='S'">
                                                              <div class="w100" v-if="state.activeNamePoint == 1">
                                                                  <el-row :gutter="20" v-if="item.alarmBasic !=null">
                                                                      <el-col :span="8">
                                                                          <p>报警模式</p>
                                                                          <p v-if="item.alarmBasic.alarmType==0">
                                                                              无报警
                                                                          </p>
                                                                          <p v-else-if="item.alarmBasic.alarmType==1">
                                                                              上限报警</p>
                                                                          <p v-else-if="item.alarmBasic.alarmType==2">
                                                                              下限报警值</p>
                                                                          <p v-else>上下限报警值</p>
                                                                          <p
                                                                              v-if="item.alarmBasic.alarmType==1 || item.alarmBasic.alarmType==3">
                                                                              <span>上限报警值
                                                                                  ≥{{ item.alarmBasic.upAlarmValue }}</span>
                                                                              <span class="marl40">上限解报值
                                                                                  ＜{{ item.alarmBasic.upRelieveValue }}</span>
                                                                          </p>
                                                                          <p
                                                                              v-if="item.alarmBasic.alarmType==2 || item.alarmBasic.alarmType==3">
                                                                              <span>下限报警值
                                                                                  ≤{{ item.alarmBasic.upAlarmValue }}</span>
                                                                              <span class="marl40">下限解报值
                                                                                  ＞{{ item.alarmBasic.upRelieveValue }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="8"
                                                                          v-if="item.prealarmBasic!=null&&item.prealarmBasic.hasPreAlarm">
                                                                          <p>预报警</p>
                                                                          <p><span>上限预报值
                                                                                  {{ item.prealarmBasic.upPrealarmValue }}</span><span
                                                                                  class="marl40">超时
                                                                                  {{ item.prealarmBasic.prealarmTimeout }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="8"
                                                                          v-if="item.prealarmBasic!=null&&item.prealarmBasic.hasConstantPreAlarm">
                                                                          <p>恒值预报警</p>
                                                                          <p>{{item.prealarmBasic.constantTime}}
                                                                          </p>
                                                                      </el-col>
                                                                  </el-row>
                                                              </div>
                                                              <div class="" v-if="state.activeNamePoint == 2">
                                                                  <el-row :gutter="20"
                                                                      v-if="!item.hasChangeGrandAlarm && !item.hasDownGrandAlarm&& !item.hasMoreGrandAlarm&& !item.hasUpGrandAlarm">
                                                                      <el-col :span="24">
                                                                          <div class="fcc">
                                                                              <img style="width:200px;height:200px;"
                                                                                  src="@/assets/images/tabnopoint.png" />
                                                                              <p>
                                                                                  <p>暂未配置哦~</p>
                                                                                  <el-button link type="primary"
                                                                                      @click="editstationPointBtn('tab',)">
                                                                                      立即配置</el-button>
                                                                              </p>
                                                                          </div>
                                                                      </el-col>
                                                                  </el-row>
                                                                  <el-row :gutter="20" v-else>
                                                                      <el-col :span="24">
                                                                          <p>变化参数</p>
                                                                          <p><span>变化率判断门限≥
                                                                                  {{ item.upGrandalarmBasic.grandalarmRate.thresholdValue }}</span>
                                                                              <span class="marl40">变化率持续周期
                                                                                  {{ item.upGrandalarmBasic.grandalarmRate.rateCycle }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="12">
                                                                          <p>一级报警</p>
                                                                          <p v-if="item.hasUpGrandAlarm">
                                                                              <span>上限预报值≥
                                                                                  {{ item.upGrandalarmBasic.grandoneValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.upGrandalarmBasic.grandoneTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{item.upGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                                          </p>
                                                                          <p v-if="item.hasDownGrandAlarm">
                                                                              <span>下限预报值≥
                                                                                  {{ item.downGrandalarmBasic.grandoneValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.downGrandalarmBasic.grandoneTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{item.downGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="12">
                                                                          <p>二级报警</p>
                                                                          <p v-if="item.hasUpGrandAlarm">
                                                                              <span>上限预报值≥
                                                                                  {{item.upGrandalarmBasic.grandtwoValue  }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{item.upGrandalarmBasic.grandtwoTime  }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{  item.upGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                                          </p>
                                                                          <p v-if="item.hasDownGrandAlarm">
                                                                              <span>下限预报值≥
                                                                                  {{item.downGrandalarmBasic.grandtwoValue  }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{item.downGrandalarmBasic.grandtwoTime  }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{  item.downGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="12">
                                                                          <p>三级报警</p>
                                                                          <p v-if="item.hasUpGrandAlarm">
                                                                              <span>上限预报值≥
                                                                                  {{ item.upGrandalarmBasic.grandthreeValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.upGrandalarmBasic.grandthreeTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                                          </p>
                                                                          <p v-if="item.hasDownGrandAlarm">
                                                                              <span>下限预报值≥
                                                                                  {{ item.downGrandalarmBasic.grandthreeValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.downGrandalarmBasic.grandthreeTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{ item.downGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="12">
                                                                          <p>四级报警</p>
                                                                          <p v-if="item.hasUpGrandAlarm">
                                                                              <span>上限预报值≥
                                                                                  {{ item.upGrandalarmBasic.grandfourValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.upGrandalarmBasic.grandfourTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{ item.upGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                                          </p>
                                                                          <p v-if="item.hasDownGrandAlarm">
                                                                              <span>下限预报值≥
                                                                                  {{ item.downGrandalarmBasic.grandfourValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.downGrandalarmBasic.grandfourTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{ item.downGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="12"
                                                                          v-if="item.hasMoreGrandAlarm">
                                                                          <p>五级报警</p>
                                                                          <p><span>上限预报值≥
                                                                                  {{ item.upGrandalarmBasic.grandfiveValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.upGrandalarmBasic.grandfiveTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{ item.upGrandalarmBasic.grandalarmRate.rateFiveValue }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="12"
                                                                          v-if="item.hasMoreGrandAlarm">
                                                                          <p>六级报警</p>
                                                                          <p><span>上限预报值≥
                                                                                  {{ item.upGrandalarmBasic.grandsixValue }}</span><span
                                                                                  class="marl40">或
                                                                                  持续≤
                                                                                  {{ item.upGrandalarmBasic.grandsixTime }}</span><span
                                                                                  class="marl40"
                                                                                  v-if="item.hasChangeGrandAlarm">或
                                                                                  涨幅≥
                                                                                  {{ item.upGrandalarmBasic.grandalarmRate.rateSixValue }}</span>
                                                                          </p>
                                                                      </el-col>
                                                                  </el-row>
                                                              </div>
                                                              <div class="" v-if="state.activeNamePoint == 3">
                                                                  <el-row :gutter="20">
                                                                      <el-col :span="24"
                                                                          v-if="item.cutValueList == null">
                                                                          <div class="fcc">
                                                                              <img style="width:200px;height:200px;"
                                                                                  src="@/assets/images/tabnopoint.png" />
                                                                              <p>
                                                                                  <p>暂未配置哦~</p>
                                                                                  <el-button link type="primary"
                                                                                      @click="editstationPointBtn('tab',)">
                                                                                      立即配置</el-button>
                                                                              </p>
                                                                          </div>
                                                                      </el-col>
                                                                      <el-col :span="24" class="detailcollapse"
                                                                          v-else>
                                                                          <el-collapse v-model="state.collapseAtive"
                                                                              @change="handleChange">
                                                                              <el-collapse-item :name="index"
                                                                                  v-for="(item11,index) in item.cutValueList">
                                                                                  <template #title>
                                                                                      <div class="fbc"
                                                                                          style="width:97%;"
                                                                                          @click="stopCollapse">
                                                                                          <div
                                                                                              style="width:98%;text-align:left;">
                                                                                              <el-row :gutter="20">
                                                                                                  <el-col :span="8">
                                                                                                      <p
                                                                                                          style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                                          断电模式
                                                                                                      </p>
                                                                                                      <p
                                                                                                          style="padding:0;margin:0;width:100%">
                                                                                                          上限断电
                                                                                                          断电值≥{{ item11.cutValue }}
                                                                                                          复电值＜{{ item11.resumeValue }}
                                                                                                      </p>
                                                                                                  </el-col>
                                                                                                  <el-col :span="8">
                                                                                                      <p
                                                                                                          style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                                          断电设备分布
                                                                                                      </p>
                                                                                                      <p
                                                                                                          style="padding:0;margin:0;width:100%">
                                                                                                          <el-button
                                                                                                              type="primary"
                                                                                                              link
                                                                                                              size="mini">
                                                                                                              查看
                                                                                                          </el-button>
                                                                                                      </p>
                                                                                                  </el-col>
                                                                                              </el-row>
                                                                                          </div>
                                                                                      </div>
                                                                                  </template>
                                                                                  <div>
                                                                                      <vxe-table border ref="tableRef"
                                                                                          :data="item11.cutStationList[0].controlPortList">
                                                                                          <vxe-column title="分站编号">
                                                                                              <template
                                                                                                  #default="{row}">
                                                                                                  {{item11.cutStationList[0].stationCode}}
                                                                                              </template>
                                                                                          </vxe-column>
                                                                                          <vxe-column title="分站名称">
                                                                                              <template
                                                                                                  #default="{row}">
                                                                                                  {{item11.cutStationList[0].stationPlaceName}}
                                                                                              </template>
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="controlPort"
                                                                                              title="开出口号">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="controlPortType"
                                                                                              title="控制设备">
                                                                                              <template
                                                                                                  #default="{row}">
                                                                                                  <span
                                                                                                      v-if="row.controlPortType== 1">断电仪</span>
                                                                                                  <span
                                                                                                      v-else>声光报警</span>
                                                                                              </template>
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="pointPlaceName"
                                                                                              title="安装地点">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="feedPointId"
                                                                                              title="馈电测点">
                                                                                          </vxe-column>
                                                                                          <vxe-column
                                                                                              field="feedSensorName"
                                                                                              title="馈电设备">
                                                                                          </vxe-column>
                                                                                      </vxe-table>
                                                                                  </div>
                                                                              </el-collapse-item>
                                                                          </el-collapse>
                                                                      </el-col>
                                                                  </el-row>
                                                              </div>
                                                              <div class="" v-if="state.activeNamePoint == 4">

                                                                  <el-row :gutter="20" v-if="item.cutArea.areaIdList">
                                                                      <el-col :span="8">
                                                                          <p>断电区域</p>
                                                                          <p
                                                                              v-if="item.cutArea&&item.cutArea.areaNameList">
                                                                              <span
                                                                                  v-if="item.cutArea.areaNameList.length>0">
                                                                                  {{item.cutArea.areaNameList.toString()}}
                                                                              </span>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="8">
                                                                          <p>断电值≥</p>
                                                                          <p>{{item.cutArea.cutValue}}
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="8">
                                                                          <p>复电值＜</p>
                                                                          <p>{{item.cutArea.resumeValue}}
                                                                          </p>
                                                                      </el-col>
                                                                  </el-row>
                                                                  <el-row :gutter="20" v-else>
                                                                      <el-col :span="24">
                                                                          <div class="fcc">
                                                                              <img style="width:200px;height:200px;"
                                                                                  src="@/assets/images/tabnopoint.png" />
                                                                              <p>
                                                                                  <p>暂未配置哦~</p>
                                                                                  <el-button link type="primary"
                                                                                      @click="editstationPointBtn('tab',)">
                                                                                      立即配置</el-button>
                                                                              </p>
                                                                          </div>
                                                                      </el-col>
                                                                  </el-row>
                                                              </div>
                                                              <div class="" v-if="state.activeNamePoint == 5">
                                                                  <el-row :gutter="20">
                                                                      <el-col :span="12">
                                                                          <p>下次标校时刻</p>
                                                                          <p style="color:rgba(230, 162, 60, 1)">
                                                                              3天21小时15秒后（2024-5-12
                                                                              12:00:00）</p>
                                                                      </el-col>
                                                                      <el-col :span="12">
                                                                          <p>标校达标数值</p>
                                                                          <p>20/20</p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>最近标校时刻</p>
                                                                          <p>
                                                                              <el-button type="primary" link>
                                                                                  正常</el-button>
                                                                          </p>
                                                                      </el-col>
                                                                      <el-col :span="6">
                                                                          <p>标校结果</p>
                                                                          <p>36分钟</p>
                                                                      </el-col>
                                                                      <el-col :span="12">
                                                                          <p>标校持续时长</p>
                                                                          <p>3天21小时15秒后（2024-5-12 12:00:00）
                                                                          </p>
                                                                      </el-col>
                                                                  </el-row>
                                                              </div>
                                                          </div>
                                                      </el-row>
                                                  </el-tab-pane>
                                              </el-tabs>
                                          </div>
                                      </el-col>
                                  </el-row>
                              </el-col>
                              <!-- 普通测点详情 -->
                              <el-col :span="24"
                                  v-if="state.formData1.pointType == 1 || state.formData1.pointType == 3">
                                  <el-row :gutter="20">
                                      <el-col :span="24">
                                          <p class="activeNameTab" style="margin-top:10px;"
                                              v-if="state.baohanD !='S'">
                                              <span v-for="item in state.pointactiveNameList" :key="item.type"
                                                  @click="ponitactiveNameTabClick(item.type)">
                                                  <span v-if="state.baohanD=='D'">
                                                      <span v-if="state.formData1.needGrandalarm">
                                                          <span class="span"
                                                              :class="state.activeNamePoint ==item.type ? 'active':''"
                                                              v-if="item.type!=4">{{ item.name }}</span>
                                                      </span>
                                                      <span v-else>
                                                          <span class="span"
                                                              :class="state.activeNamePoint ==item.type ? 'active':''"
                                                              v-if="item.type!=4 && item.type!=2">{{ item.name }}</span>
                                                      </span>
                                                  </span>
                                                  <span v-else>
                                                      <span v-if="state.formData1.needGrandalarm">
                                                          <span class="span"
                                                              :class="state.activeNamePoint ==item.type ? 'active':''">{{ item.name }}</span>
                                                      </span>
                                                      <span v-else>
                                                          <span class="span"
                                                              :class="state.activeNamePoint ==item.type ? 'active':''"
                                                              v-if="item.type!=2">{{ item.name }}</span>
                                                      </span>

                                                  </span>
                                              </span>
                                              <!-- <span class="span"
                                                  @click="ponitactiveNameTabClick(5)"
                                                          :class="state.activeNamePoint ==5 ? 'active':''">设备标校</span> -->
                                          </p>
                                      </el-col>
                                      <div class="desc_box w100" v-if="state.baohanD !='S'">
                                          <div v-if="state.activeNamePoint == 1">
                                              <el-row :gutter="20">
                                                  <el-col :span="8">
                                                      <div v-if="state.baohanD !='D'">
                                                          <p>报警模式</p>
                                                          <p v-if="state.formData1.alarmBasic.alarmType==0">无报警
                                                          </p>
                                                          <p v-else-if="state.formData1.alarmBasic.alarmType==1">
                                                              上限报警</p>
                                                          <p v-else-if="state.formData1.alarmBasic.alarmType==2">
                                                              下限报警值</p>
                                                          <p v-else>上下限报警值</p>
                                                      </div>
                                                      <div v-else>
                                                          <p>报警模式</p>
                                                          <p v-if="state.formData1.alarmBasic.alarmType==1">
                                                              {{state.formData1.highShow}}报警</p>
                                                          <p v-if="state.formData1.alarmBasic.alarmType==2">
                                                              {{state.formData1.lowShow}}报警</p>
                                                      </div>
                                                      <p
                                                          v-if="(state.formData1.alarmBasic.alarmType==1 || state.formData1.alarmBasic.alarmType==3)&& state.baohanD !='D'">
                                                          <span>上限报警值
                                                              ≥{{ state.formData1.alarmBasic.upAlarmValue }}</span>
                                                          <span class="marl40">上限解报值
                                                              ＜{{ state.formData1.alarmBasic.upRelieveValue }}</span>
                                                      </p>
                                                      <p
                                                          v-if="(state.formData1.alarmBasic.alarmType==2 || state.formData1.alarmBasic.alarmType==3)&&state.baohanD !='D'">
                                                          <span>下限报警值
                                                              ≤{{ state.formData1.alarmBasic.upAlarmValue }}</span>
                                                          <span class="marl40">下限解报值
                                                              ＞{{ state.formData1.alarmBasic.upRelieveValue }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="8" v-if="state.formData1.prealarmBasic.hasPreAlarm">
                                                      <p>预报警</p>
                                                      <p><span>上限预报值
                                                              {{ state.formData1.prealarmBasic.upPrealarmValue }}</span><span
                                                              class="marl40">超时
                                                              {{ state.formData1.prealarmBasic.prealarmTimeout }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="8"
                                                      v-if="state.formData1.prealarmBasic.hasConstantPreAlarm">
                                                      <p>恒值预报警</p>
                                                      <p>{{state.formData1.prealarmBasic.constantTime}}</p>
                                                  </el-col>
                                              </el-row>
                                          </div>
                                          <div class="" v-if="state.activeNamePoint == 2">
                                              <el-row :gutter="20"
                                                  v-if="!state.formData1.hasChangeGrandAlarm && !state.formData1.hasDownGrandAlarm&& !state.formData1.hasMoreGrandAlarm&& !state.formData1.hasUpGrandAlarm">
                                                  <el-col :span="24">
                                                      <div class="fcc">
                                                          <img style="width:200px;height:200px;"
                                                              src="@/assets/images/tabnopoint.png" />
                                                          <p>
                                                              <p>暂未配置哦~</p>
                                                              <el-button link type="primary"
                                                                  @click="editstationPointBtn('tab',2)">
                                                                  立即配置</el-button>
                                                          </p>
                                                      </div>
                                                  </el-col>
                                              </el-row>
                                              <el-row :gutter="20" v-else>
                                                  <el-col :span="24" v-if="state.baohanD != 'D'">
                                                      <p>变化参数</p>
                                                      <p><span>变化率判断门限≥
                                                              {{ state.formData1.upGrandalarmBasic.grandalarmRate.thresholdValue }}</span>
                                                          <span class="marl40">变化率持续周期
                                                              {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateCycle }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>一级报警</p>
                                                      <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">上限预报值≥
                                                              {{ state.formData1.upGrandalarmBasic.grandoneValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.upGrandalarmBasic.grandoneTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm && state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                      </p>
                                                      <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">下限预报值≥
                                                              {{ state.formData1.downGrandalarmBasic.grandoneValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.downGrandalarmBasic.grandoneTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{state.formData1.downGrandalarmBasic.grandalarmRate.rateOneValue  }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>二级报警</p>
                                                      <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">上限预报值≥
                                                              {{state.formData1.upGrandalarmBasic.grandtwoValue  }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{state.formData1.upGrandalarmBasic.grandtwoTime  }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{  state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                      </p>
                                                      <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">下限预报值≥
                                                              {{state.formData1.downGrandalarmBasic.grandtwoValue  }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{state.formData1.downGrandalarmBasic.grandtwoTime  }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{  state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue}}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>三级报警</p>
                                                      <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">上限预报值≥
                                                              {{ state.formData1.upGrandalarmBasic.grandthreeValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.upGrandalarmBasic.grandthreeTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                      </p>
                                                      <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">下限预报值≥
                                                              {{ state.formData1.downGrandalarmBasic.grandthreeValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.downGrandalarmBasic.grandthreeTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{ state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>四级报警</p>
                                                      <p v-if="state.formData1.hasUpGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">上限预报值≥
                                                              {{ state.formData1.upGrandalarmBasic.grandfourValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.upGrandalarmBasic.grandfourTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                      </p>
                                                      <p v-if="state.formData1.hasDownGrandAlarm"><span
                                                              v-if="state.baohanD != 'D'">下限预报值≥
                                                              {{ state.formData1.downGrandalarmBasic.grandfourValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.downGrandalarmBasic.grandfourTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{ state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="12" v-if="state.formData1.hasMoreGrandAlarm">
                                                      <p>五级报警</p>
                                                      <p><span v-if="state.baohanD != 'D'">上限预报值≥
                                                              {{ state.formData1.upGrandalarmBasic.grandfiveValue }}</span><span
                                                              class="marl40">
                                                              <span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.upGrandalarmBasic.grandfiveTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue }}</span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="12" v-if="state.formData1.hasMoreGrandAlarm">
                                                      <p>六级报警</p>
                                                      <p><span v-if="state.baohanD != 'D'">上限预报值≥
                                                              {{ state.formData1.upGrandalarmBasic.grandsixValue }}</span><span
                                                              class="marl40"><span
                                                                  v-html="state.baohanD == 'D'?'持续时间≤':'或 持续时间≤'"></span>
                                                              {{ state.formData1.upGrandalarmBasic.grandsixTime }}</span><span
                                                              class="marl40"
                                                              v-if="state.formData1.hasChangeGrandAlarm&&state.baohanD != 'D'">或
                                                              涨幅≥
                                                              {{ state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue }}</span>
                                                      </p>
                                                  </el-col>
                                              </el-row>
                                          </div>
                                          <div class="" v-if="state.activeNamePoint == 3">
                                              <el-row :gutter="20">
                                                  <el-col :span="24" v-if="state.formData1.cutValueList==null">
                                                      <div class="fcc">
                                                          <img style="width:200px;height:200px;"
                                                              src="@/assets/images/tabnopoint.png" />
                                                          <p>
                                                              <p>暂未配置哦~</p>
                                                              <el-button link type="primary"
                                                                  @click="editstationPointBtn('tab',3)">立即配置
                                                              </el-button>
                                                          </p>
                                                      </div>
                                                  </el-col>
                                                  <el-col :span="24" class="detailcollapse" v-else>
                                                      <el-collapse v-model="state.collapseAtive"
                                                          @change="handleChange">
                                                          <el-collapse-item :name="index"
                                                              v-for="(item,index) in state.formData1.cutValueList">
                                                              <template #title>
                                                                  <div class="fbc" style="width:97%;"
                                                                      @click="stopCollapse">
                                                                      <div style="width:98%;text-align:left;">
                                                                          <el-row :gutter="20">
                                                                              <el-col :span="8">
                                                                                  <p
                                                                                      style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                      断电模式</p>
                                                                                  <p
                                                                                      style="padding:0;margin:0;width:100%">
                                                                                      上限断电
                                                                                      断电值≥{{ item.cutValue }}
                                                                                      复电值＜{{ item.resumeValue }}
                                                                                  </p>
                                                                              </el-col>
                                                                              <el-col :span="8">
                                                                                  <p
                                                                                      style="padding:8px 0 4px 4px;margin:0;width:100%">
                                                                                      断电设备分布</p>
                                                                                  <p
                                                                                      style="padding:0;margin:0;width:100%">
                                                                                      <el-button type="primary" link
                                                                                          size="mini">
                                                                                          查看</el-button>
                                                                                  </p>
                                                                              </el-col>
                                                                          </el-row>
                                                                      </div>
                                                                  </div>
                                                              </template>
                                                              <div>
                                                                  <vxe-table border ref="tableRef"
                                                                      :data="item.cutStationList[0].controlPortList">
                                                                      <vxe-column title="分站编号">
                                                                          <template #default="{row}">
                                                                              {{item.cutStationList[0].stationCode}}
                                                                          </template>
                                                                      </vxe-column>
                                                                      <vxe-column title="分站名称">
                                                                          <template #default="{row}">
                                                                              {{item.cutStationList[0].stationPlaceName}}
                                                                          </template>
                                                                      </vxe-column>
                                                                      <vxe-column field="controlPort" title="开出口号">
                                                                      </vxe-column>
                                                                      <vxe-column field="controlPortType"
                                                                          title="控制设备">
                                                                          <template #default="{row}">
                                                                              <span
                                                                                  v-if="row.controlPortType== 1">断电仪</span>
                                                                              <span v-else>声光报警</span>
                                                                          </template>
                                                                      </vxe-column>
                                                                      <vxe-column field="pointPlaceName" title="安装地点">
                                                                      </vxe-column>
                                                                      <vxe-column field="feedPointId" title="馈电测点">
                                                                      </vxe-column>
                                                                      <vxe-column field="feedSensorName" title="馈电设备">
                                                                      </vxe-column>
                                                                  </vxe-table>
                                                              </div>
                                                          </el-collapse-item>
                                                      </el-collapse>
                                                  </el-col>
                                              </el-row>
                                          </div>
                                          <div class="" v-if="state.activeNamePoint == 4">
                                              <el-row :gutter="20"
                                                  v-if="JSON.stringify(state.formData1.cutArea)=='{}'">
                                                  <el-col :span="24">
                                                      <div class="fcc">
                                                          <img style="width:200px;height:200px;"
                                                              src="@/assets/images/tabnopoint.png" />
                                                          <p>
                                                              <p>暂未配置哦~</p>
                                                              <el-button link type="primary"
                                                                  @click="editstationPointBtn('tab',4)">立即配置
                                                              </el-button>
                                                          </p>
                                                      </div>
                                                  </el-col>
                                              </el-row>
                                              <el-row :gutter="20" v-else>
                                                  <el-col :span="8">
                                                      <p>断电区域</p>
                                                      <p v-if="state.formData1.cutArea.areaNameList">
                                                          <span v-if="state.formData1.cutArea.areaNameList.length>0">
                                                              {{state.formData1.cutArea.areaNameList.toString()}}
                                                          </span>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <p>断电值≥</p>
                                                      <p>{{state.formData1.cutArea.cutValue}}</p>
                                                  </el-col>
                                                  <el-col :span="8">
                                                      <p>复电值＜</p>
                                                      <p>{{state.formData1.cutArea.resumeValue}}</p>
                                                  </el-col>
                                              </el-row>
                                          </div>
                                          <div class="" v-if="state.activeNamePoint == 5">
                                              <el-row :gutter="20">
                                                  <el-col :span="12">
                                                      <p>下次标校时刻</p>
                                                      <p style="color:rgba(230, 162, 60, 1)">
                                                          3天21小时15秒后（2024-5-12
                                                          12:00:00）</p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>标校达标数值</p>
                                                      <p>20/20</p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>最近标校时刻</p>
                                                      <p>
                                                          <el-button type="primary" link>正常</el-button>
                                                      </p>
                                                  </el-col>
                                                  <el-col :span="6">
                                                      <p>标校结果</p>
                                                      <p>36分钟</p>
                                                  </el-col>
                                                  <el-col :span="12">
                                                      <p>标校持续时长</p>
                                                      <p>3天21小时15秒后（2024-5-12 12:00:00）</p>
                                                  </el-col>
                                              </el-row>
                                          </div>
                                      </div>
                                  </el-row>
                              </el-col>
                          </div>
                      </div>
                  </div>

              </el-col>
              <!-- 新增开出口 -->
              <el-col :span="19" v-if="state.addShowOpenShow ==true">
                  <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="p_btn">
                              <oneclickDelivery></oneclickDelivery>
                          </p>
                          <p class="title_r"><span class="fz16 hover" @click="addstationBtn">分站信息</span>
                              <span class="fz16 active">开出口信息</span></p>
                      </div>
                      <el-form class="formBox" ref="formRef2" :model="state.formData2" :rules="state.rules2"
                          label-position="top">
                          <div class="desc_box">
                              <el-row :gutter="20">
                                  <el-col :span="6">
                                      <el-form-item label="所属分站" prop="stationCode">
                                          <el-input disabled v-model="state.formData2.stationCode" placeholder="请输入">
                                          </el-input>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="6">
                                      <el-form-item label="控制设备" prop="controlPortType">
                                          <el-select clearable filterable v-model="state.formData2.controlPortType"
                                              placeholder="请选择" @change="controlPortTypeChange">
                                              <el-option v-for="item in state.controlPortTypeList" :key="item.code"
                                                  :label="item.name" :value="item.code">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="安装地点" prop="pointPlaceId">
                                          <el-select class="w100" clearable filterable allow-create
                                              v-model="state.formData2.pointPlaceId" placeholder="请选择"
                                              @change="pointPlaceIdopenChange">
                                              <el-option v-for="item in state.addressInfoList" :key="item.id"
                                                  :label="item.placeName" :value="item.id">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="馈电测点" prop="feedPointId" :rules="{
              required: state.formData2.controlPortType==2?false:true,
              message: '请选择馈电测点',
              trigger: 'change',
          }">
                                          <el-select :disabled="state.formData2.controlPortType==2" class="w100"
                                              clearable filterable allow-create v-model="state.formData2.feedPointId"
                                              placeholder="请选择" @change="feedPointIdChange">
                                              <el-option v-for="item in state.feedPointIdList" :key="item.pointId"
                                                  :label="item.pointId+'/'+item.sensorName+'/'+item.pointPlaceName"
                                                  :value="item.pointId">
                                              </el-option>
                                          </el-select>
                                      </el-form-item>
                                  </el-col>
                                  <el-col :span="12">
                                      <el-form-item label="设备地理位置" prop="stationPlaceName">
                                          <div class="fbc">
                                              <el-input v-model="state.formData2.locationX" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>X</span>
                                                  </template>
                                              </el-input>
                                              <el-input v-model="state.formData2.locationY" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>Y</span>
                                                  </template>
                                              </el-input>
                                              <el-input v-model="state.formData2.locationZ" oninput="value =value.replace(/[^\-\d.]/g, '') .replace(/^\./g, '').replace(/\.{2,}/g,
'.').replace(/(\.\d+)\./g, '$1') .replace(/(-)\./g, '$1') .replace(/\-{2,}/g, '-')
.replace(/(\d+|\.)-/g, '$1') .replace(/-(0){2,}/g,'$1') .replace(/(-)0+(\d+)/g, '$1$2')
.replace(/^0+(\d)/, '$1') .replace(/(\d{8})\d*/, '$1') .replace(/(\.\d{8})\d*/, '$1')">
                                                  <template #prefix>
                                                      <span>Z</span>
                                                  </template>
                                              </el-input>
                                          </div>
                                      </el-form-item>
                                  </el-col>
                              </el-row>
                          </div>
                      </el-form>
                  </div>
                  <div class="footer_card fbc">
                      <div></div>
                      <div>
                          <el-button class="btn" type="info" @click="cancelopenClick">取消</el-button>
                          <el-button class="btn" type="primary" @click="addopenClick">确定</el-button>
                      </div>
                  </div>
              </el-col>
              <!-- 开出口详情 -->
              <el-col :span="19" v-if="state.addShowOpendetailShow ==true">
                  <div style="height: calc(100vh - 240px);overflow-y: auto;overflow-x: hidden;">
                      <div class="title_r_box">
                          <p class="p_btn">
                              <oneclickDelivery></oneclickDelivery>
                          </p>
                          <p class="title_r fbc">
                              <span>
                                  <span class="fz16 hover"
                                      @click="stationBtndesc(state.formData2.stationCode)">分站信息</span>
                                  <span class="fz16 active">开出口信息</span>
                              </span>
                              <span>
                                  <el-button link size="small" type="primary" @click="editopenBtn">编辑</el-button>
                                  <el-button link size="small" type="primary"
                                      @click="delopenClick(state.formData2.controlPort,state.formData2.stationCode)">
                                      删除
                                  </el-button>
                              </span>
                          </p>
                      </div>

                      <el-form class="formBox" ref="formRef2" :model="state.formData2" :rules="state.rules2"
                          label-position="top">
                          <div class="el-drawer_mash desc_box">
                              <el-row :gutter="20">
                                  <el-col :span="24">
                                      <p class="drawer_sub_title">
                                          <span class="sub_title_line">开出口基础信息</span>
                                      </p>
                                  </el-col>
                                  <el-col :span="6">
                                      <p>所属分站</p>
                                      <p>{{state.formData2.stationCode}}</p>
                                  </el-col>
                                  <el-col :span="6">
                                      <p>控制设备</p>
                                      <p>{{state.formData2.controlPortTypeName}}</p>
                                  </el-col>
                                  <el-col :span="12">
                                      <p>安装地点</p>
                                      <p>{{state.formData2.pointPlaceName}}</p>
                                  </el-col>
                                  <el-col :span="12" v-if="state.formData2.controlPortType !=2">
                                      <p>馈电测点</p>
                                      <p>{{state.formData2.feedPointId}}/{{state.formData2.feedSensorName}}/{{state.formData2.feedPlaceName}}
                                      </p>
                                  </el-col>
                                  <el-col :span="12">
                                      <p>设备地理位置</p>
                                      <p
                                          v-if="state.formData2.locationX!=null || state.formData2.locationY!=null || state.formData2.locationZ!=null">
                                          {{state.formData2.locationX}},{{state.formData2.locationY}},{{state.formData2.locationZ}}
                                      </p>
                                      <p v-else>-</p>
                                  </el-col>
                              </el-row>
                              <el-row :gutter="20">
                                  <el-col :span="24">
                                      <p class="drawer_sub_title">
                                          <span class="sub_title_line">控制源</span>
                                      </p>
                                      <vxe-table height="300" :data="state.controlSourceData.tabledata"
                                          border="inner">
                                          <vxe-column v-for="(item,index) in state.controlSourceData.tableheads"
                                              :field="item.field" :title="item.title" :params="{name:item.name}"
                                              :width="item.width?item.width:''" :key="index">
                                          </vxe-column>
                                      </vxe-table>
                                      <vxe-pager v-if="state.controlSourceData.total>0"
                                          @page-change="controlSourceDatapagechange" :background="false" class="allbk"
                                          align="right"
                                          :layouts="['PrevJump', 'PrevPage', 'JumpNumber', 'NextPage', 'NextJump', 'Sizes', 'FullJump', 'Total']"
                                          v-model:current-page="state.controlSourceData.query.pageNum"
                                          v-model:page-size="state.controlSourceData.query.pageSize"
                                          :total="state.controlSourceData.total">
                                      </vxe-pager>
                                  </el-col>
                              </el-row>
                          </div>
                      </el-form>
                  </div>
              </el-col>
          </el-row>
      </el-card>
  </div>
</template>
<script setup>
  import {
      ref,
      onMounted
  } from "vue";
  import {
      ElMessage,
      ElMessageBox
  } from 'element-plus'
  import CircularJSON from 'circular-json'
  import list_controller from "@/components/commonCom/list_controller";
  import
  temconfigCom
  from '@/components/commonCom/temconfigCom';
  import
  oneclickDelivery
  from '@/components/commonCom/oneclickDelivery';
  import {
      computed,
      reactive
  } from "vue";
  import {
      table_headers
  } from '@/components/commonCom/table_headers';
  import axios from "@/utils/request"
  import usePagesStore from '@/store/modules/pages'
  import {
      getsearchTree,
      getsubstation,
      getstationNos,
      getaddressInfo,
      gettypesInfo,
      getpointCodes,
      getpointsensor,
      getinfosearchAll,
      getfeedList,
      controlPortsList,
      getmultipleList,
      searchchannelNoList,
      getTemplateTreeList,
      getPointIdsList,
      searchexpressionList
  } from '@/api/config'
  const {
      proxy
  } = getCurrentInstance();
  const store = usePagesStore()
  import useUserStore from "@/store/modules/user";
  const userStore = useUserStore();
  const router = useRouter();
  let pointtree = ref(null)
  const expressionVoList = (rule, value, callback) => {
      state.expressionVoList.forEach(item => {
          if (item.value == null || item.value == '')
              return callback(new Error("请选择测点!"));
      })
      callback();
  }
  /** 自定义校验 */
  // ip
  const validateip = (rule, value, callback) => {
      let reg =
          /^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[0-9])\.((1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\.){2}(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$/
      if (!reg.test(value))
          return callback(new Error("请输入正确的IP"));
      callback();
  }
  // 端口
  const validatePass = (rule, value, callback) => {
      let reg = new RegExp(/^([0-9]|[1-9]\d{1,3}|[1-5]\d{4}|6[0-4]\d{4}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])$/);
      if (!reg.test(value))
          return callback(new Error("请输入正确端口(0-65535)"));
      callback();
  }
  // 上限报警值
  const validatealarmType1 = (rule, value, callback) => {
      if (Number(state.formData1.alarmBasic.upAlarmValue) < Number(state.formData1.alarmBasic.upRelieveValue))
          return callback(new Error("上限报警值大于等于上限解报值!"));

      if (!state.formData1.alarmBasic.upAlarmValue || !state.formData1.alarmBasic.upRelieveValue)
          return callback(new Error("请输入上限报警值或上限解报值!"));

      if (Number(state.formData1.alarmBasic.upAlarmValue) > Number(state.scaleUp) || Number(state.formData1
              .alarmBasic.upAlarmValue) < Number(state.scaleDown))
          return callback(new Error("上限报警值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));

      if (Number(state.formData1.alarmBasic.upRelieveValue) > Number(state.scaleUp) || Number(state.formData1
              .alarmBasic.upRelieveValue) < Number(state.scaleDown))
          return callback(new Error("上限解报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
      callback();

  }

  // 下限报警值
  const validatealarmType2 = (rule, value, callback) => {
      if (Number(state.formData1.alarmBasic.downAlarmValue) > Number(state.formData1.alarmBasic
              .downRelieveValue))
          return callback(new Error("上限报警值大于等于上限解报值!"));

      if (!state.formData1.alarmBasic.downAlarmValue || !state.formData1.alarmBasic.downRelieveValue)
          return callback(new Error("请输入上限报警值或上限解报值!"));

      if (Number(state.formData1.alarmBasic.downAlarmValue) > Number(state.scaleUp) || Number(state.formData1
              .alarmBasic.downAlarmValue) < Number(state.scaleDown))
          return callback(new Error("下限报警值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));

      if (Number(state.formData1.alarmBasic.downRelieveValue) > Number(state.scaleUp) || Number(state.formData1
              .alarmBasic.downRelieveValue) < Number(state.scaleDown))
          return callback(new Error("下限解报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
      callback();
  }
  // 断电值≥
  const validatecutValue = (rule, value, callback) => {
      if (Number(state.formData1.cutArea.cutValue) < Number(state.formData1.cutArea.resumeValue))
          return callback(new Error("断电值要大于等于复电值"));

      if (Number(state.formData1.cutArea.cutValue) > Number(state.scaleUp) || Number(state.formData1.cutArea
              .cutValue) < Number(state.scaleDown))
          return callback(new Error("断电值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
      callback();
  }
  const validatecutValue1 = (rule, value, callback) => {
      if (state.formData1.cutValueList.length > 0) {
          state.formData1.cutValueList.forEach((item, index) => {
              if (state.ordintranValue == index) {
                  if (item.cutType == 1) {
                      if (Number(item.cutValue) < Number(item.resumeValue))
                          return callback(new Error("上限断电值要大于等于上限复电值"));

                      if (Number(item.cutValue) > Number(state.scaleUp) || Number(item.cutValue) < Number(
                              state.scaleDown))
                          return callback(new Error("断电值不在量程范围内" + state.scaleDown + '~' + state
                              .scaleUp));
                      callback()
                  } else {
                      if (Number(item.cutValue) > Number(item.resumeValue))
                          return callback(new Error("下限断电值要小于下限复电值"));

                      if (Number(item.cutValue) > Number(state.scaleUp) || Number(item.cutValue) < Number(
                              state.scaleDown))
                          return callback(new Error("断电值不在量程范围内" + state.scaleDown + '~' + state
                              .scaleUp));
                      callback()
                  }


              }
          })
      }
  }
  const validatecutValue2 = (rule, value, callback) => {
      if (state.formData1.cutValueList.length > 0) {
          state.formData1.cutValueList.forEach((item, index) => {
              if (state.ordintranValue == index) {
                  if (item.cutType == 1) {
                      if (Number(item.cutValue) < Number(item.resumeValue))
                          return callback(new Error("下限断电值要大于等于下限复电值"));

                      if (Number(item.resumeValue) > Number(state.scaleUp) || Number(item.resumeValue) <
                          Number(state.scaleDown))
                          return callback(new Error("复电值不在量程范围内" + state.scaleDown + '~' + state
                              .scaleUp));
                      callback()
                  } else {
                      if (Number(item.cutValue) > Number(item.resumeValue))
                          return callback(new Error("下限断电值要小于下限复电值"));

                      if (Number(item.resumeValue) > Number(state.scaleUp) || Number(item.resumeValue) <
                          Number(state.scaleDown))
                          return callback(new Error("复电值不在量程范围内" + state.scaleDown + '~' + state
                              .scaleUp));
                      callback()
                  }

              }
          })
      }
      callback();
  }
  const validateupPrealarmValue = (rule, value, callback) => {
      if (state.formData1.alarmBasic.alarmType != 0) {
          if (!state.formData1.prealarmBasic.upPrealarmValue)
              return callback(new Error("请输入上限预报值"));

          if (Number(state.formData1.prealarmBasic.upPrealarmValue) > Number(state.formData1.alarmBasic
                  .upAlarmValue))
              return callback(new Error("上限预报值要小于上限报警值"));
          if (Number(state.formData1.prealarmBasic.upPrealarmValue) < Number(state.formData1.alarmBasic
                  .downAlarmValue))
              return callback(new Error("上限预报值要大于下限报警值"));
          if (Number(state.formData1.prealarmBasic.upPrealarmValue) < Number(state.formData1.alarmBasic
                  .downAlarmValue))
              return callback(new Error("上限预报值要大于下限预报值"));

          if (Number(state.formData1.prealarmBasic.upPrealarmValue) > Number(state.scaleUp) || Number(state
                  .formData1
                  .prealarmBasic.upPrealarmValue) < Number(state.scaleDown))
              return callback(new Error("上限预报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
          callback();
      } else {
          callback();
      }
  }
  const validateupPrealarmValue2 = (rule, value, callback) => {
      if (state.formData1.alarmBasic.alarmType != 0) {
          if (!state.formData1.prealarmBasic.downPrealarmValue)
              return callback(new Error("请输入下限预报值"));

          if (Number(state.formData1.prealarmBasic.downPrealarmValue) > Number(state.formData1.alarmBasic
                  .upAlarmValue))
              return callback(new Error("下限预报值要小于上限报警值"));
          if (Number(state.formData1.prealarmBasic.downPrealarmValue) < Number(state.formData1.alarmBasic
                  .downAlarmValue))
              return callback(new Error("下限预报值要大于下限报警值"));
          if (Number(state.formData1.prealarmBasic.downPrealarmValue) > Number(state.formData1.alarmBasic
                  .upPrealarmValue))
              return callback(new Error("上限预报值要大于下限预报值"));

          if (Number(state.formData1.prealarmBasic.downPrealarmValue) > Number(state.scaleUp) || Number(state
                  .formData1.prealarmBasic.downPrealarmValue) < Number(state.scaleDown))
              return callback(new Error("下限预报值不在量程范围内" + state.scaleDown + '~' + state.scaleUp));
          callback();
      } else {
          callback();
      }
  }
  /**
   * 分级报警
   */
  // 上限-持续时间
  // 6一级=二级>三级>四级>五级>六级

  const grandsixTimevalidate = (rule, value, callback) => {
      if (value > Number(state.formData1.upGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandfiveTime))
          return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
      callback();
  }
  const grandfiveTimevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandsixTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandsixTime))
          return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandfourTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandfourTime))
          return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
      callback();

  }
  const grandfourTimevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandfiveTime))
          return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandthreeTime))
          return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
      callback();
  }
  const grandthreeTimevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandfourTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandfourTime))
          return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandtwoTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandtwoTime))
          return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
      callback();
  }
  const grandtwoTimevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
              .upGrandalarmBasic.grandthreeTime))
          return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
      if (value != Number(state.formData1.upGrandalarmBasic.grandoneTime))
          return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
      callback();
  }
  const grandoneTimevalidate = (rule, value, callback) => {
      if (value != Number(state.formData1.upGrandalarmBasic.grandtwoTime))
          return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
      callback();
  }
  // 多参测点
  const mulgrandsixTimevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value > Number(item.upGrandalarmBasic.grandfiveTime) || value == Number(item
                  .upGrandalarmBasic.grandfiveTime))
              return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
          callback();
      })
  }
  const mulgrandfiveTimevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandsixTime) || value == Number(item
                  .upGrandalarmBasic.grandsixTime))
              return callback(new Error("六级报警持续时间要小于五级报警持续时间"));
          if (value > Number(item.upGrandalarmBasic.grandfourTime) || value == Number(item
                  .upGrandalarmBasic.grandfourTime))
              return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
          callback();
      })

  }
  const mulgrandfourTimevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandfiveTime) || value == Number(item
                  .upGrandalarmBasic.grandfiveTime))
              return callback(new Error("五级报警持续时间要小于四级报警持续时间"));
          if (value > Number(item.upGrandalarmBasic.grandthreeTime) || value == Number(item
                  .upGrandalarmBasic.grandthreeTime))
              return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
          callback();
      })
  }
  const mulgrandthreeTimevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandfourTime) || value == Number(item
                  .upGrandalarmBasic.grandfourTime))
              return callback(new Error("四级报警持续时间要小于三级报警持续时间"));
          if (value > Number(item.upGrandalarmBasic.grandtwoTime) || value == Number(item
                  .upGrandalarmBasic.grandtwoTime))
              return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
          callback();
      })
  }
  const mulgrandtwoTimevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandthreeTime) || value == Number(item
                  .upGrandalarmBasic.grandthreeTime))
              return callback(new Error("三级报警持续时间要小于二级报警持续时间"));
          if (value != Number(item.upGrandalarmBasic.grandoneTime))
              return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
          callback();
      })
  }
  const mulgrandoneTimevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value != Number(item.upGrandalarmBasic.grandtwoTime))
              return callback(new Error("二级报警持续时间要等于一级报警持续时间"));
          callback();
      })
  }
  // 报警值一级>二级>三级>四级
  const grandsixValuevalidate = (rule, value, callback) => {
      if (value > Number(state.formData1.upGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandfiveValue))
          return callback(new Error("六级报警值要小于五级报警值"));
      callback();
  }
  // 5
  const grandfiveValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandsixValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandsixValue))
          return callback(new Error("五级报警值要大于六级报警值"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandfourValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandfourValue))
          return callback(new Error("五级报警值要小于四级报警值"));
      callback();
  }
  // 4
  const grandfourValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandfiveValue))
          return callback(new Error("四级报警值要大于五级报警值"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandthreeValue))
          return callback(new Error("四级报警值要小于三级报警值"));
      callback();
  }
  const grandthreeValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandfourValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandfourValue))
          return callback(new Error("四级报警值要小于三级报警值"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandtwoValue))
          return callback(new Error("三级报警值要小于二级报警值"));
      callback();
  }
  const grandtwoValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandthreeValue))
          return callback(new Error("三级报警值要小于二级报警值"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandoneValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandoneValue))
          return callback(new Error("二级报警值要小于一级报警值"));
      callback();
  }
  const grandoneValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
              .upGrandalarmBasic.grandtwoValue))
          return callback(new Error("二级报警值要小于一级报警值"));
      callback();
  }
  // 多参测点
  const mulgrandsixValuevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value > Number(item.upGrandalarmBasic.grandfiveValue) || value == Number(item
                  .upGrandalarmBasic.grandfiveValue))
              return callback(new Error("六级报警值要小于五级报警值"));
          callback();
      })
  }
  // 5
  const mulgrandfiveValuevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandsixValue) || value == Number(item
                  .upGrandalarmBasic.grandsixValue))
              return callback(new Error("五级报警值要大于六级报警值"));
          if (value > Number(item.upGrandalarmBasic.grandfourValue) || value == Number(item
                  .upGrandalarmBasic.grandfourValue))
              return callback(new Error("五级报警值要小于四级报警值"));
          callback();
      })
  }
  // 4
  const mulgrandfourValuevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandfiveValue) || value == Number(item
                  .upGrandalarmBasic.grandfiveValue))
              return callback(new Error("四级报警值要大于五级报警值"));
          if (value > Number(item.upGrandalarmBasic.grandthreeValue) || value == Number(item
                  .upGrandalarmBasic.grandthreeValue))
              return callback(new Error("四级报警值要小于三级报警值"));
          callback();
      })
  }
  const mulgrandthreeValuevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandfourValue) || value == Number(item
                  .upGrandalarmBasic.grandfourValue))
              return callback(new Error("四级报警值要小于三级报警值"));
          if (value > Number(item.upGrandalarmBasic.grandtwoValue) || value == Number(item
                  .upGrandalarmBasic.grandtwoValue))
              return callback(new Error("三级报警值要小于二级报警值"));
          callback();
      })
  }
  const mulgrandtwoValuevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandthreeValue) || value == Number(item
                  .upGrandalarmBasic.grandthreeValue))
              return callback(new Error("三级报警值要小于二级报警值"));
          if (value > Number(item.upGrandalarmBasic.grandoneValue) || value == Number(item
                  .upGrandalarmBasic.grandoneValue))
              return callback(new Error("二级报警值要小于一级报警值"));
          callback();
      })
  }
  const mulgrandoneValuevalidate = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (value < Number(item.upGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
                  .upGrandalarmBasic.grandtwoValue))
              return callback(new Error("二级报警值要小于一级报警值"));
          callback();
      })
  }
  // 涨幅≥一级>二级>三级>四级
  // 6
  const grandsixRatevalidate = (rule, value, callback) => {
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
              state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
          return callback(new Error("五级涨幅要大于六级涨幅"));
      callback();
  }
  // 5
  const grandfiveRatevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateSixValue))
          return callback(new Error("五级涨幅要大于六级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
              state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
          return callback(new Error("五级涨幅要小于四级涨幅"));
      callback();
  }
  const rateFourValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
          return callback(new Error("四级涨幅要大于五级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
          return callback(new Error("四级涨幅要小于三级涨幅"));
      callback();
  }
  const rateThreeValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
          return callback(new Error("四级涨幅要小于三级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
          return callback(new Error("三级涨幅要小于二级涨幅"));
      callback();
  }
  const rateTwoValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
          return callback(new Error("三级涨幅要小于二级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateOneValue))
          return callback(new Error("二级涨幅要小于一级涨幅"));
      callback();
  }
  const rateOneValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
          return callback(new Error("二级涨幅要小于一级涨幅"));
      callback();
  }
  // 多参测点
  const mulgrandsixRatevalidate = (rule, value, callback) => {
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
              state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
          return callback(new Error("五级涨幅要大于六级涨幅"));
      callback();
  }
  // 5
  const mulgrandfiveRatevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateSixValue))
          return callback(new Error("五级涨幅要大于六级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
              state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
          return callback(new Error("五级涨幅要小于四级涨幅"));
      callback();
  }
  const mulrateFourValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateFiveValue))
          return callback(new Error("四级涨幅要大于五级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
          return callback(new Error("四级涨幅要小于三级涨幅"));
      callback();
  }
  const mulrateThreeValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateFourValue))
          return callback(new Error("四级涨幅要小于三级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
          return callback(new Error("三级涨幅要小于二级涨幅"));
      callback();
  }
  const mulrateTwoValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateThreeValue))
          return callback(new Error("三级涨幅要小于二级涨幅"));
      if (value > Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateOneValue))
          return callback(new Error("二级涨幅要小于一级涨幅"));
      callback();
  }
  const mulrateOneValuevalidate = (rule, value, callback) => {
      if (value < Number(state.formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
              .formData1.upGrandalarmBasic.grandalarmRate.rateTwoValue))
          return callback(new Error("二级涨幅要小于一级涨幅"));
      callback();
  }
  // 下限
  // 报警值一级<二级<三级<四级<五级<六级
  // 6
  const grandsixValuevalidate1 = (rule, value, callback) => {
      if (value < Number(state.formData1.downGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandfiveValue))
          return callback(new Error("六级报警值要大于五级报警值"));
      callback();
  }
  // 5
  const grandfiveValuevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandsixValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandsixValue))
          return callback(new Error("五级报警值要小于六级报警值"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandfourValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandfourValue))
          return callback(new Error("五级报警值要大于四级报警值"));
      callback();
  }
  // 4
  const grandfourValuevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandfiveValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandfiveValue))
          return callback(new Error("四级报警值要小于五级报警值"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandthreeValue))
          return callback(new Error("四级报警值要大于三级报警值"));
      callback();
  }
  // 3
  const grandthreeValuevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandfourValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandfourValue))
          return callback(new Error("三级报警值要小于四级报警值"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandtwoValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandtwoValue))
          return callback(new Error("三级报警值要大于二级报警值"));
      callback();
  }
  // 2
  const grandtwoValuevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandthreeValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandthreeValue))
          return callback(new Error("二级报警值要小于三级报警值"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandoneValue) || value == Number(state.formData1
              .downGrandalarmBasic.grandoneValue))
          return callback(new Error("二级报警值要大于一级报警值"));
      callback();
  }
  // 1
  const grandoneValuevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandtwoValue))
          return callback(new Error("二级报警值要小于一级报警值"));
      callback();
  }
  // 多参测点
  const mulgrandsixValuevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value < Number(item.downGrandalarmBasic.grandfiveValue) || value == Number(item
                  .downGrandalarmBasic.grandfiveValue))
              return callback(new Error("六级报警值要大于五级报警值"));
          callback();
      })
  }
  // 5
  const mulgrandfiveValuevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandsixValue) || value == Number(item
                  .downGrandalarmBasic.grandsixValue))
              return callback(new Error("五级报警值要小于六级报警值"));
          if (value < Number(item.downGrandalarmBasic.grandfourValue) || value == Number(item
                  .downGrandalarmBasic.grandfourValue))
              return callback(new Error("五级报警值要大于四级报警值"));
          callback();
      })
  }
  // 4
  const mulgrandfourValuevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandfiveValue) || value == Number(item
                  .downGrandalarmBasic.grandfiveValue))
              return callback(new Error("四级报警值要小于五级报警值"));
          if (value < Number(item.downGrandalarmBasic.grandthreeValue) || value == Number(item
                  .downGrandalarmBasic.grandthreeValue))
              return callback(new Error("四级报警值要大于三级报警值"));
          callback();
      })
  }
  // 3
  const mulgrandthreeValuevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandfourValue) || value == Number(item
                  .downGrandalarmBasic.grandfourValue))
              return callback(new Error("三级报警值要小于四级报警值"));
          if (value < Number(item.downGrandalarmBasic.grandtwoValue) || value == Number(item
                  .downGrandalarmBasic.grandtwoValue))
              return callback(new Error("三级报警值要大于二级报警值"));
          callback();
      })
  }
  // 2
  const mulgrandtwoValuevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandthreeValue) || value == Number(item
                  .downGrandalarmBasic.grandthreeValue))
              return callback(new Error("二级报警值要小于三级报警值"));
          if (value < Number(item.downGrandalarmBasic.grandoneValue) || value == Number(item
                  .downGrandalarmBasic.grandoneValue))
              return callback(new Error("二级报警值要大于一级报警值"));
          callback();
      })
  }
  // 1
  const mulgrandoneValuevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandtwoValue))
              return callback(new Error("二级报警值要小于一级报警值"));
          callback();
      })
  }
  // 持续时间
  // 6
  const grandsixTimevalidate1 = (rule, value, callback) => {
      if (value < Number(state.formData1.downGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandfiveTime))
          return callback(new Error("六级持续时间要大于五级持续时间"));
      callback();
  }
  // 5
  const grandfiveTimevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandsixTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandsixTime))
          return callback(new Error("五级持续时间要小于六级持续时间"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandfourTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandfourTime))
          return callback(new Error("五级持续时间要大于四级持续时间"));
      callback();
  }
  // 4
  const grandfourTimevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandfiveTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandfiveTime))
          return callback(new Error("四级持续时间要小于五级持续时间"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandthreeTime))
          return callback(new Error("四级持续时间要大于三级持续时间"));
      callback();
  }
  // 3
  const grandthreeTimevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandfourTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandfourTime)) {
          return callback(new Error("三级持续时间要小于四级持续时间"));
      }
      if (value < Number(state.formData1.downGrandalarmBasic.grandtwoTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandtwoTime)) {
          return callback(new Error("三级持续时间要大于二级持续时间"));
      }
      callback();
  }
  // 2
  const grandtwoTimevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandthreeTime) || value == Number(state.formData1
              .downGrandalarmBasic.grandthreeTime))
          return callback(new Error("二级持续时间要小于三级持续时间"));
      if (value != Number(state.formData1.downGrandalarmBasic.grandoneTime))
          return callback(new Error("二级持续时间要等于一级持续时间"));
      callback();
  }
  // 1
  const grandoneTimevalidate1 = (rule, value, callback) => {
      if (value != Number(state.formData1.downGrandalarmBasic.grandtwoTime))
          return callback(new Error("二级持续时间要等于一级持续时间"));
      callback();
  }
  // 多参测点
  // 6
  const mulgrandsixTimevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value < Number(item.downGrandalarmBasic.grandfiveTime) || value == Number(item
                  .downGrandalarmBasic.grandfiveTime))
              return callback(new Error("六级持续时间要大于五级持续时间"));
          callback();
      })
  }
  // 5
  const mulgrandfiveTimevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandsixTime) || value == Number(item
                  .downGrandalarmBasic.grandsixTime))
              return callback(new Error("五级持续时间要小于六级持续时间"));
          if (value < Number(item.downGrandalarmBasic.grandfourTime) || value == Number(item
                  .downGrandalarmBasic.grandfourTime))
              return callback(new Error("五级持续时间要大于四级持续时间"));
          callback();
      })
  }
  // 4
  const mulgrandfourTimevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandfiveTime) || value == Number(item
                  .downGrandalarmBasic.grandfiveTime))
              return callback(new Error("四级持续时间要小于五级持续时间"));
          if (value < Number(item.downGrandalarmBasic.grandthreeTime) || value == Number(item
                  .downGrandalarmBasic.grandthreeTime))
              return callback(new Error("四级持续时间要大于三级持续时间"));
          callback();
      })
  }
  // 3
  const mulgrandthreeTimevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandfourTime) || value == Number(item
                  .downGrandalarmBasic.grandfourTime)) {
              return callback(new Error("三级持续时间要小于四级持续时间"));
          }
          if (value < Number(item.downGrandalarmBasic.grandtwoTime) || value == Number(item
                  .downGrandalarmBasic.grandtwoTime)) {
              return callback(new Error("三级持续时间要大于二级持续时间"));
          }
          callback();
      })
  }
  // 2
  const mulgrandtwoTimevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandthreeTime) || value == Number(item
                  .downGrandalarmBasic.grandthreeTime))
              return callback(new Error("二级持续时间要小于三级持续时间"));
          if (value != Number(item.downGrandalarmBasic.grandoneTime))
              return callback(new Error("二级持续时间要等于一级持续时间"));
          callback();
      })
  }
  // 1
  const mulgrandoneTimevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value != Number(item.downGrandalarmBasic.grandtwoTime))
              return callback(new Error("二级持续时间要等于一级持续时间"));
          callback();
      })
  }
  // 涨幅
  // 6
  const grandsixRatevalidate1 = (rule, value, callback) => {
      if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
              state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue))
          return callback(new Error("五级跌幅要小于六级跌幅"));
      callback();
  }
  // 5
  const grandfiveRatevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(state
              .formData1.downGrandalarmBasic.grandalarmRate.rateSixValue))
          return callback(new Error("五级跌幅要小于六级跌幅"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
              state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue))
          return callback(new Error("五级跌幅要大于四级跌幅"));
      callback();
  }
  // 4
  const grandfourRatevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
              state.formData1.downGrandalarmBasic.grandalarmRate.rateFiveValue))
          return callback(new Error("四级跌幅要小于五级跌幅"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
              state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue))
          return callback(new Error("四级跌幅要大于三级跌幅"));
      callback();
  }
  // 3
  const grandthreeRatevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
              state.formData1.downGrandalarmBasic.grandalarmRate.rateFourValue))
          return callback(new Error("三级跌幅要小于四级跌幅"));
      if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(state
              .formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue))
          return callback(new Error("三级跌幅要大于二级跌幅"));
      callback();
  }
  // 2
  const grandtwoRatevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
              state.formData1.downGrandalarmBasic.grandalarmRate.rateThreeValue))
          return callback(new Error("二级跌幅要小于三级跌幅"));
      if (value < Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(state
              .formData1.downGrandalarmBasic.grandalarmRate.rateOneValue))
          return callback(new Error("二级跌幅要大于一级跌幅"));
      callback();
  }
  // 1
  const grandoneRatevalidate1 = (rule, value, callback) => {
      if (value > Number(state.formData1.downGrandalarmBasic.grandalarmRate.rateTwoValue))
          return callback(new Error("二级跌幅要大于一级跌幅"));
      callback();
  }
  // 多参测点
  // 6
  const mulgrandsixRatevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                  item.downGrandalarmBasic.grandalarmRate.rateFiveValue))
              return callback(new Error("五级跌幅要小于六级跌幅"));
          callback();
      })
  }
  // 5
  const mulgrandfiveRatevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateSixValue) || value == Number(item
                  .downGrandalarmBasic.grandalarmRate.rateSixValue))
              return callback(new Error("五级跌幅要小于六级跌幅"));
          if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                  item.downGrandalarmBasic.grandalarmRate.rateFourValue))
              return callback(new Error("五级跌幅要大于四级跌幅"));
          callback();
      })
  }
  // 4
  const mulgrandfourRatevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateFiveValue) || value == Number(
                  item.downGrandalarmBasic.grandalarmRate.rateFiveValue))
              return callback(new Error("四级跌幅要小于五级跌幅"));
          if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
                  item.downGrandalarmBasic.grandalarmRate.rateThreeValue))
              return callback(new Error("四级跌幅要大于三级跌幅"));
          callback();
      })
  }
  // 3
  const mulgrandthreeRatevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateFourValue) || value == Number(
                  item.downGrandalarmBasic.grandalarmRate.rateFourValue))
              return callback(new Error("三级跌幅要小于四级跌幅"));
          if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateTwoValue) || value == Number(item
                  .downGrandalarmBasic.grandalarmRate.rateTwoValue))
              return callback(new Error("三级跌幅要大于二级跌幅"));
          callback();
      })
  }
  // 2
  const mulgrandtwoRatevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateThreeValue) || value == Number(
                  item.downGrandalarmBasic.grandalarmRate.rateThreeValue))
              return callback(new Error("二级跌幅要小于三级跌幅"));
          if (value < Number(item.downGrandalarmBasic.grandalarmRate.rateOneValue) || value == Number(item
                  .downGrandalarmBasic.grandalarmRate.rateOneValue))
              return callback(new Error("二级跌幅要大于一级跌幅"));
          callback();
      })
  }
  // 1
  const mulgrandoneRatevalidate1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList(item => {
          if (value > Number(item.downGrandalarmBasic.grandalarmRate.rateTwoValue))
              return callback(new Error("二级跌幅要大于一级跌幅"));
          callback();
      })
  }
  // 虚拟测点
  const mulupAlarmValuevalite = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.alarmBasic != null) {
              if (!Number(item.alarmBasic.upAlarmValue) || !Number(item.alarmBasic
                      .upRelieveValue))
                  return callback(new Error("请输入上限报警值或解报值"));
              if (Number(item.alarmBasic.upAlarmValue) < Number(item.alarmBasic.upRelieveValue))
                  return callback(new Error("上限报警值要大于解报值"));
              callback()
          }
      })
  }
  const muldownAlarmValuevalite = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.alarmBasic != null) {
              if (!Number(item.alarmBasic.downAlarmValue) || !Number(item.alarmBasic
                      .downRelieveValue))
                  return callback(new Error("请输入下限报警值或解报值"));
              if (Number(item.alarmBasic.downAlarmValue) > Number(item.alarmBasic
                      .downRelieveValue))
                  return callback(new Error("下限报警值要小于解报值"));
              callback()
          }
      })
  }
  const mulmulcutValue = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.cutValueList != null && item.cutValueList.length > 0) {
              item.cutValueList.forEach(item1 => {
                  if (Number(item1.cutValue) < Number(item1.resumeValue))
                      return callback(new Error("上限断电值要大于复电值"));
                  callback()
              })
          }
      })
  }
  const mulresumeValue = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.cutValueList != null && item.cutValueList.length > 0) {
              item.cutValueList.forEach(item1 => {
                  if (Number(item1.cutValue) < Number(item1.resumeValue))
                      return callback(new Error("上限断电值要小于复电值"));
                  callback()
              })
          }
      })
  }
  const mulmulcutValue1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.cutValueList != null && item.cutValueList.length > 0) {
              item.cutValueList.forEach(item1 => {
                  if (Number(item1.cutValue) > Number(item1.resumeValue))
                      return callback(new Error("下限断电值要小于复电值"));
                  callback()
              })
          }
      })
  }
  const mulresumeValue1 = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.cutValueList != null && item.cutValueList.length > 0) {
              item.cutValueList.forEach(item1 => {
                  if (Number(item1.cutValue) > Number(item1.resumeValue))
                      return callback(new Error("下限断电值要小于复电值"));
                  callback()
              })
          }
      })
  }
  const mulareacutValue = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.cutArea != null) {
              if (Number(item.cutArea.cutValue) < Number(item.cutArea.resumeValue))
                  return callback(new Error("断电值要大于复电值"));
              callback()
          }
      })
  }
  const mularearesumeValue = (rule, value, callback) => {
      state.formData1.multiplePointBranchList.forEach(item => {
          if (item.cutArea != null) {
              if (Number(item.cutArea.cutValue) < Number(item.cutArea.resumeValue))
                  return callback(new Error("断电值要大于复电值"));
              callback()
          }
      })
  }
  const state = reactive({
      addtemModal: false,
      mobanType: 1,
      conditionList1: [{
          name: '分站模板',
          code: 1
      }, {
          name: '电源模板',
          code: 2
      }, {
          name: '分析模板',
          code: 'A'
      }, {
          name: '表达式',
          code: 'B'
      }],
      curTreeId: undefined,
      radio1: '', //上下级分级切换
      datatreeId: undefined, //左侧树形分站id
      datatreeCode: undefined, //左侧树形分站code
      treestationTypeId: undefined, //左侧树形
      datatree: [], //左侧树形
      addShowTtation: false, //新增分站弹框
      addShowPoint: false, //新增测点弹框
      addShowdetailPoint: false, //测点详情
      detailShowTtation: false, //分站详情
      nodetailShowTtation: true, //有左侧数据展示页面
      addShowOpenShow: false, //新增开出口
      addShowOpendetailShow: false, //开出口详情
      defaultProps: {
          children: 'children',
          label: 'label',
      }, //左侧树形
      activeName: 1, //分站信息tab
      activeName1: 1, //
      activeNameList: [{
          name: '关联电源',
          type: 1
      }, {
          name: '其他配置',
          type: 2
      }, {
          name: '操作日志',
          type: 3
      }],
      treeSearch: '', //左侧树形搜索
      options: { //关联电源--操作日志
          tableheads: computed(() => table_headers.sensorSimulate),
          queryList: {
              dropdownUrl: '',
              querys: [{
                  field: 'sensorName',
                  title: '电源类型',
                  type: 'select',
                  binddata: ''
              }, {
                  field: 'sensorName',
                  title: '关联状态',
                  type: 'select',
                  binddata: ''
              }],
              queryMap: new Map([
                  ['sensorTypeId', 'safety_pointType'],
                  ['deviceTypeId', 'safety_deviceType'],
                  ['alarmTypeId', 'alarmType']
              ])
          },
          dataUrl: '/sensor/simulate/list',
          delUrl: '/sensor/simulate/delete',
          addUrl: '/sensor/simulate/add',
          descUrl: '/sensor/simulate/detail?id=',
          editUrl: '/sensor/simulate/edit',
      },
      options1: {
          tableheads: computed(() => table_headers.sensorSimulate),
          queryList: {
              dropdownUrl: '',
              querys: [{
                  field: 'sensorName',
                  title: '操作模块',
                  type: 'input',
                  binddata: ''
              }, {
                  field: 'sensorName',
                  title: '操作人',
                  type: 'select',
                  binddata: ''
              }, {
                  require: true,
                  field: 'time',
                  title: '时间',
                  type: 'datetimerange',
                  binddata: ''
              }],
              queryMap: new Map([
                  ['sensorTypeId', 'safety_pointType'],
                  ['deviceTypeId', 'safety_deviceType'],
                  ['alarmTypeId', 'alarmType']
              ])
          },
          dataUrl: '/sensor/simulate/list',
          delUrl: '/sensor/simulate/delete',
          addUrl: '/sensor/simulate/add',
          descUrl: '/sensor/simulate/detail?id=',
          editUrl: '/sensor/simulate/edit',
      },
      // 表单--分站信息
      stationDis: false,
      addModal: false,
      drawerShow: false,
      formRef: null,
      formData: {
          isPlaceotherBreakfalg: false,
          isGasDrainage: false,
          isNetwork: false,
          noOldprotocolSensor: false,
          continuation: false,
          pointCutBroken: false
      },
      rules: {
          stationCode: [{
              required: true,
              message: '请选择分站编号',
              trigger: 'change'
          }],
          stationTypeId: [{
              required: true,
              message: '请选择分站类型',
              trigger: 'change'
          }],
          stationPlaceName: [{
              required: true,
              message: '请选择安装地点',
              trigger: 'change'
          }],
          stationAreaId: [{
              required: true,
              message: '请选择所在区域',
              trigger: 'change'
          }],
          ipAddr: [{
              required: true,
              message: '请输入IP',
              trigger: 'blur'
          }, {
              validator: validateip,
              trigger: 'blur'
          }],
          ipPort: [{
                  required: true,
                  message: '请输入端口',
                  trigger: 'blur'
              },
              {
                  type: 'number',
                  message: '请输入数字',
                  trigger: 'blur'
              },
              {
                  validator: validatePass,
                  trigger: 'blur'
              }
          ],
          identifyingNo: [{
              required: true,
              message: '请输入设备唯一编号',
              trigger: 'blur'
          }]
      },
      editId: undefined,
      // 表单--测点信息
      needPlaceType: undefined,
      editpointId: undefined,
      ponitAddUrl: '/point/add',
      ponitEditUrl: '/point/edit',
      ponitDelUrl: '/point/delete',
      ponitdetailUrl: '/point/detail',
      scaleDown: undefined,
      scaleUp: undefined,
      // 超时
      prealarmTimeoutData: [0, 0.5, 1, 3, 5, 10, 15, 20, 30],
      formData1: {
          gasDrainageGroupno: 1,
          hasUpGrandAlarm: false,
          hasDownGrandAlarm: false,
          hasMoreGrandAlarm: false,
          hasChangeGrandAlarm: false,
          calibration: {},
          alarmBasic: {},
          prealarmBasic: {},
          upGrandalarmBasic: {
              grandalarmRate: {},
          },
          downGrandalarmBasic: {
              grandalarmRate: {},
          },
          cutArea: {},
          cutValueList: [{
              title: '断电配置',
              name: '1',
              cutStationList: [{
                  controlPort: '',
                  pointPlaceName: ''
              }]
          }]
      },
      defaultExpandedNodes: [],
      rules1: {
          pointCode: [{
              required: true,
              message: '请选择测点编号',
              trigger: 'change'
          }],
          pointType: [{
              required: true,
              message: '请选择测点类型',
              trigger: 'change'
          }],
          sensorId: [{
              required: true,
              message: '请选择传感器名称',
              trigger: 'change'
          }],
          expressionVoList: [{
              required: true,
              validator: expressionVoList,
              trigger: 'change'
          }],
          templateId: [{
              required: true,
              message: '请选择模板名称',
              trigger: 'change'
          }],
          pointPlaceName: [{
              required: true,
              message: '请选择安装地点',
              trigger: 'change'
          }],
          pointAreaId: [{
              required: true,
              message: '请选择所在区域',
              trigger: 'change'
          }],
          placeTypeId: [{
              required: true,
              message: '请选择地点类型',
              trigger: 'change'
          }],
          gasDrainageGroupno: [{
              required: true,
              message: '请选择瓦斯抽放监测点组别',
              trigger: 'change'
          }],
          'prealarmBasic.constantTime': [{
              required: true,
              message: '请输入恒值持续时间',
              trigger: 'blur'
          }],
          'calibration.intervalTime': [{
              required: true,
              message: '请输入标校间隔时刻',
              trigger: 'blur'
          }, {
              type: "number",
              min: 1,
              max: 365,
              message: '大小要在1到365',
              trigger: 'blur'
          }],
          'prealarmBasic.upPrealarmValue': [{
              required: true,
              validator: validateupPrealarmValue,
              trigger: 'blur'
          }],
          'prealarmBasic.downPrealarmValue': [{
              required: true,
              validator: validateupPrealarmValue2,
              trigger: 'blur'
          }],
          'alarmBasic.alarmType': [{
              required: true,
              message: '请选择报警模式',
              trigger: 'change'
          }],
          'alarmBasic.alarmType1': [{
              required: true,
              validator: validatealarmType1,
              trigger: 'blur'
          }],
          'alarmBasic.alarmType2': [{
              required: true,
              validator: validatealarmType2,
              trigger: 'blur'
          }],

          'upGrandalarmBasic.grandalarmRate.thresholdValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateCycle': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateFourValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              required: true,
              validator: rateFourValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateThreeValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: rateThreeValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateTwoValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: rateTwoValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateOneValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: rateOneValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateSixValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandsixRatevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandalarmRate.rateFiveValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfiveRatevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandsixValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandsixValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandsixTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandsixTimevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandfiveValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfiveValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandfiveTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfiveTimevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandfourValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              required: true,
              validator: grandfourValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandfourTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfourTimevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandthreeValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandthreeValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandthreeTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandthreeTimevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandtwoValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandtwoValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandtwoTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandtwoTimevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandoneValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandoneValuevalidate,
              trigger: 'blur'
          }],
          'upGrandalarmBasic.grandoneTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandoneTimevalidate,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandsixValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandsixValuevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandsixTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandsixTimevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandfiveValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfiveValuevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandfiveTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfiveTimevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandfourValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfourValuevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandfourTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfourTimevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandthreeValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandthreeValuevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandthreeTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandthreeTimevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandtwoValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandtwoValuevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandtwoTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandtwoTimevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandoneValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandoneValuevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandoneTime': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandoneTimevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.thresholdValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateCycle': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateSixValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandsixRatevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateFiveValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfiveRatevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateFourValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandfourRatevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateThreeValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandthreeRatevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateTwoValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandtwoRatevalidate1,
              trigger: 'blur'
          }],
          'downGrandalarmBasic.grandalarmRate.rateOneValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: grandoneRatevalidate1,
              trigger: 'blur'
          }],
          'cutArea.areaIdList': [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          'cutArea.cutValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: validatecutValue,
              trigger: 'blur'
          }],
          'cutArea.resumeValue': [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_cutType: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          field_cutValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: validatecutValue1,
              trigger: 'blur'
          }],
          field_resumeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: validatecutValue2,
              trigger: 'blur'
          }],
          field_stationPlaceName: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          // 多参测点
          field_mulalarmType: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          field_mulupAlarmValue: [{
              required: true,
              validator: mulupAlarmValuevalite,
              trigger: 'blur'
          }],
          field_muldownAlarmValue: [{
              required: true,
              validator: muldownAlarmValuevalite,
              trigger: 'blur'
          }],
          field_mulupPrealarmValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_muldownPrealarmValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_mulprealarmTimeout: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          field_mulconstantTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_mulupthresholdValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_muluprateCycle: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_muldownthresholdValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_muldownrateCycle: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_mulcutType: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          field_mulcutValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulmulcutValue,
              trigger: 'blur'
          }],
          field_mulresumeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulresumeValue,
              trigger: 'blur'
          }],
          field_mulcutValue1: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulmulcutValue1,
              trigger: 'blur'
          }],
          field_mulresumeValue1: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulresumeValue1,
              trigger: 'blur'
          }],
          field_mulstationPlaceName: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          field_mulcutAreaareaIdList: [{
              required: true,
              message: '请选择',
              trigger: 'change'
          }],
          field_mulcutAreacutValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulareacutValue,
              trigger: 'blur'
          }],
          field_mulcutArearesumeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mularearesumeValue,
              trigger: 'blur'
          }],
          // 多参测点自定义验证
          // 上限
          field_upgrandthresholdValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_upgrandrateCycle: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_upgrandsixTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandsixTimevalidate,
              trigger: 'blur'
          }],
          field_upgrandfiveTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfiveTimevalidate,
              trigger: 'blur'
          }],
          field_upgrandfourTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfourTimevalidate,
              trigger: 'blur'
          }],
          field_upgrandthreeTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandthreeTimevalidate,
              trigger: 'blur'
          }],
          field_upgrandtwoTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandtwoTimevalidate,
              trigger: 'blur'
          }],
          field_upgrandoneTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandoneTimevalidate,
              trigger: 'blur'
          }],
          field_upgrandsixValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandsixValuevalidate,
              trigger: 'blur'
          }],
          field_upgrandfiveValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfiveValuevalidate,
              trigger: 'blur'
          }],
          field_upgrandfourValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfourValuevalidate,
              trigger: 'blur'
          }],
          field_upgrandthreeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandthreeValuevalidate,
              trigger: 'blur'
          }],
          field_upgrandtwoValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandtwoValuevalidate,
              trigger: 'blur'
          }],
          field_upgrandoneValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandoneValuevalidate,
              trigger: 'blur'
          }],
          field_uprateSixValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandsixRatevalidate,
              trigger: 'blur'
          }],
          field_uprateFiveValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfiveRatevalidate,
              trigger: 'blur'
          }],
          field_uprateFourValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulrateFourValuevalidate,
              trigger: 'blur'
          }],
          field_uprateThreeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulrateThreeValuevalidate,
              trigger: 'blur'
          }],
          field_uprateTwoValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulrateTwoValuevalidate,
              trigger: 'blur'
          }],
          field_uprateOneValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulrateOneValuevalidate,
              trigger: 'blur'
          }],
          // 下限
          field_downthresholdValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_downrateCycle: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }],
          field_downgrandsixValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandsixValuevalidate1,
              trigger: 'blur'
          }],
          field_downgrandfiveValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfiveValuevalidate1,
              trigger: 'blur'
          }],
          field_downgrandfourValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfourValuevalidate1,
              trigger: 'blur'
          }],
          field_downgrandthreeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandthreeValuevalidate1,
              trigger: 'blur'
          }],
          field_downgrandtwoValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandtwoValuevalidate1,
              trigger: 'blur'
          }],
          field_downgrandoneValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandoneValuevalidate1,
              trigger: 'blur'
          }],
          field_downgrandsixTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandsixTimevalidate1,
              trigger: 'blur'
          }],
          field_downgrandfiveTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfiveTimevalidate1,
              trigger: 'blur'
          }],
          field_downgrandfourTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfourTimevalidate1,
              trigger: 'blur'
          }],
          field_downgrandthreeTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandthreeTimevalidate1,
              trigger: 'blur'
          }],
          field_downgrandtwoTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandtwoTimevalidate1,
              trigger: 'blur'
          }],
          field_downgrandoneTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandoneTimevalidate1,
              trigger: 'blur'
          }],
          field_downgrandoneTime: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandoneTimevalidate1,
              trigger: 'blur'
          }],
          field_downrateSixValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandsixRatevalidate1,
              trigger: 'blur'
          }],
          field_downrateFiveValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfiveRatevalidate1,
              trigger: 'blur'
          }],
          field_downrateFourValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandfourRatevalidate1,
              trigger: 'blur'
          }],
          field_downrateThreeValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandthreeRatevalidate1,
              trigger: 'blur'
          }],
          field_downrateTwoValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandtwoRatevalidate1,
              trigger: 'blur'
          }],
          field_downrateOneValue: [{
              required: true,
              message: '请输入',
              trigger: 'blur'
          }, {
              validator: mulgrandoneRatevalidate1,
              trigger: 'blur'
          }],
      },
      // 普通测点
      activeNamePoint: 1,
      pointactiveNameList: [{
              name: '报警配置',
              type: 1
          }, {
              name: '分级配置',
              type: 2
          }, {
              name: '普通断电',
              type: 3
          }, {
              name: '区域断电',
              type: 4
          },
          // {
          //     name: '设备标校',
          //     type: 5
          // }
      ],
      // 普通断电
      ordintranValue: 0,
      collapseAtive: 0,
      ordintranTableList: [{}],
      collapseAtiveList: [{}],
      cutTypeList: [{
          code: 1,
          name: '上限'
      }, {
          code: 2,
          name: '下限'
      }], //断电模式
      stationPlaceNamList: [],
      stationPlaceName: undefined,
      // 断电-配置表单
      addModalconfig: false,
      addModalconfig1: false,
      formDataconfig: {},
      formDataconfig1: {},
      cutconfigId: undefined,
      cutconfigIdTypereq: undefined, //配置走编辑还是新增接口
      cutconfigIdTypestation: undefined, //分站下拉选择
      rulesconfig: {
          controlPortType: [{
              required: true,
              message: '请选择控制设备',
              trigger: 'change',
          }],
          pointPlaceName: [{
              required: true,
              message: '请选择安装地点',
              trigger: 'change',
          }],
          feedPointId: [{
              required: true,
              message: '请选择馈电测点',
              trigger: 'change',
          }],
      },
      rulesconfig1: {
          controlPortType: [{
              required: true,
              message: '请选择控制设备',
              trigger: 'change',
          }],
          pointPlaceName: [{
              required: true,
              message: '请选择安装地点',
              trigger: 'change',
          }],
          feedPointId: [{
              required: true,
              message: '请选择馈电测点',
              trigger: 'change',
          }],
      },
      // 下拉选
      searchTreeList: [],
      substationList: [],
      ationNosList: [],
      addressInfoList: [],
      pointTypeList: [{
          value: 1,
          name: '普通测点'
      }, {
          value: 2,
          name: '多参测点'
      }, {
          value: 3,
          name: '虚拟测点'
      }],
      pointNoList: [],
      sensorIdList: [],
      placeTypeIdList: [],
      alarmBasicList: [{
          code: 0,
          name: '无'
      }, {
          code: 1,
          name: '上限'
      }, {
          code: 2,
          name: '下限'
      }, {
          code: 3,
          name: '上下限'
      }],
      infosearchAllList: [],
      // 表单--开出口
      formData2: {},
      rules2: {
          controlPortType: [{
              required: true,
              message: '请选择控制设备',
              trigger: 'change',
          }],
          pointPlaceId: [{
              required: true,
              message: '请选择安装地点',
              trigger: 'change',
          }],
      },
      // 控制设备类型
      controlPortTypeList: [{
          code: 1,
          name: '断电仪'
      }, {
          code: 2,
          name: '声光报警'
      }],
      feedPointIdList: [],
      controlPortTypeId: undefined,
      baohanD: '', //筛选首字母
      baohanunit: '', //传感器名称下拉后单位
      cutValueListyou: false, //测点详情查看处理普通断电
      editpontDis: false,
      // 预报警全部详情
      addModalhasPreAlarm: false,
      hasPreAlarmData: {
          condition: undefined,
          tableheads: computed(() => table_headers.prealarmBasic),
          tabledata: [],
          query: {
              pageNum: 1,
              pageSize: 10,
              condition: undefined,
          },
          total: 0,
          selList: []
      },
      // 恒值预报警全部详情
      addModalhasConstantPreAlarm: false,
      hasConstantPreAlarmData: {
          condition: undefined,
          tableheads: computed(() => table_headers.constantPrealarm),
          tabledata: [],
          query: {
              pageNum: 1,
              pageSize: 10,
              condition: undefined,
          },
          total: 0,
          selList: []
      },
      // 控制源
      controlSourceData: {
          tableheads: computed(() => table_headers.controlSource),
          tabledata: [],
          query: {
              pageNum: 1,
              pageSize: 10,
              controlPointIds: undefined
          },
          total: 0
      },
      // 多参测点参数
      mulpointTypeName: undefined, //含有多参字符
      mulsensorIdList: [], //传感器下拉
      // 多参测点tab切换
      mulactiveNamePoint: undefined,
      multiplePointBranchList: [],
      looksensorObj: undefined, //查看传感器参数
      channelNoList: [], //获取通道号
      // 虚拟测点
      templateTreeList: [],
      pointIdsList: [],
      expressionVoList: []
  })
  // 树形默认
  // 
  // 过滤器
  function formatCloud(str) {
      return str.charAt(0)
  }
  // 获取下拉选
  function getSelList() {
//分站编号
let fenzhanArr=[]
for (let i = 0; i <= 255; i++) {
  console.log(i);
  fenzhanArr.push[i]
}
console.log(fenzhanArr,'fenzhanArr')
  }
  getSelList()

  // 测点编号下拉
  function getponitCodeList(datatreeId) {
      getpointCodes(datatreeId).then(res => {
          state.pointNoList = res.data
      })
  }
  // 通道号改变事件
  function channelNoChange(val) {
      state.channelNoList.forEach(item => {
          if (val == item.id) {
              state.formData.channelName = item.name
          }
      })
  }
  /**
   * 分站信息
   */
  // 跳转分站类型
  function tostationType() {
      // router.push('/cspz/basicConfig/config_stationType')
  }
  if (router.currentRoute.value.query.id && router.currentRoute.value.query.stationCode) {
      let data = router.currentRoute.value.query
      state.curTreeId = data.stationCode
      getdetailData(data.stationCode)
      state.addShowTtation = false
      state.addShowPoint = false
      state.nodetailShowTtation = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.detailShowTtation = true
      state.addShowdetailPoint = false
  } else {
      console.log("无对象");
  }
  if (router.currentRoute.value.query.pointId) {
      let data = router.currentRoute.value.query
      state.curTreeId = data.pointId
      getponitdetailData(data.pointId)
      state.addShowTtation = false
      state.addShowPoint = false
      state.nodetailShowTtation = false
      state.detailShowTtation = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = true
  }
  // 新增分站
  function addstationBtn() {
      state.stationDis = false
      state.datatreeId = undefined
      state.addShowTtation = true
      state.addShowPoint = false
      state.nodetailShowTtation = false
      state.detailShowTtation = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = false
      state.formData = {
          isPlaceotherBreakfalg: false,
          isGasDrainage: false,
          isNetwork: false,
          noOldprotocolSensor: false,
          continuation: false,
          pointCutBroken: false
      }
  }
  // 编辑分站
  function editstationBtn() {
      if (state.datatreeId) {
          state.addShowTtation = true
          state.addShowPoint = false
          state.nodetailShowTtation = false
          state.detailShowTtation = false
          state.addShowOpenShow = false
          state.addShowOpendetailShow = false
          state.addShowdetailPoint = false
          getdetailData(state.datatreeCode)
          state.stationDis = true
      } else {
          proxy.$modal.msgWarning('请先选择分站');
      }
  }
  // 分站编号下拉事件
  function stationTypeChange(val) {
      state.substationList.forEach(item => {
          if (val == item.id) {
              state.formData.stationInNum = item.stationInNum
              state.formData.stationModelName = item.stationModelName
          }
      })
  }
  // 新增tab切换
  function activeNameTabClick(type) {
      state.activeName = type
  }
  // 详情tab切换
  function activeNameTabClick1(type) {
      state.activeName1 = type
  }


  function getcontrolPortsList(val) {
      axios.post('/station/list', {}).then(res => {
          state.stationPlaceNamList = res.data.list
      })
  }
  // 断电-配置列表
  async function getcutconfigId(e, val) {
      let arr = await fenzhankaichuList(e)
      if (state.formData1.pointType == 1) {
          if (state.collapseAtive == val) {
              state.formData1.cutValueList.forEach((item1, index) => {
                  if (state.ordintranValue == index) {
                      if (!item1.cutStationList) {
                          item1.cutStationList = [{}]
                      }
                      arr.forEach(item2 => {
                          item2.stationCode = item1.cutStationList[val].stationCode
                      })
                      item1.cutStationList[val].controlPortList = arr
                  }
              })
          }
      }
      if (state.formData1.pointType == 2) {
          state.formData1.multiplePointBranchList.forEach(item0 => {
              if (state.mulactiveNamePoint == item0.sensorId) {
                  if (state.collapseAtive == val) {
                      item0.cutValueList.forEach((item1, index) => {
                          if (state.ordintranValue == index) {
                              if (!item1.cutStationList) {
                                  item1.cutStationList = [{}]
                              }
                              arr.forEach(item2 => {
                                  item2.stationCode = item1.cutStationList[val]
                                      .stationCode
                              })
                              item1.cutStationList[val].controlPortList = arr
                          }
                      })
                  }
              }
          })
      }
  }
  async function controlPortChange(e, val) {
      state.collapseAtive = val
      state.cutconfigId = e
      state.cutconfigIdTypestation = e
      if (state.formData1.pointType == 1) {
          if (state.collapseAtive == val) {
              await state.stationPlaceNamList.forEach(item => {
                  if (e == item.stationCode) {
                      state.formData1.cutValueList.forEach((item1, index) => {
                          if (state.ordintranValue == index) {
                              item1.cutStationList[val].stationCode = item.stationCode
                              item1.cutStationList[val].stationPlaceName = item.stationPlaceName
                              getcutconfigId(e, val)
                          }
                      })

                  }
              })
          }
      }
      if (state.formData1.pointType == 2) {
          await state.formData1.multiplePointBranchList.forEach(item0 => {
              if (state.mulactiveNamePoint == item0.sensorId) {
                  if (state.collapseAtive == val) {
                      state.stationPlaceNamList.forEach(item => {
                          if (e == item.stationCode) {
                              item0.cutValueList.forEach((item1, index) => {
                                  if (state.ordintranValue == index) {
                                      item1.cutStationList[val].stationCode = item
                                          .stationCode
                                      // item1.cutStationList[val].stationPlaceName = item
                                      //     .stationPlaceName
                                      getcutconfigId(e, val)
                                  }
                              })
                          }
                      })
                  }
              }
          })
      }
  }

  function fenzhankaichuList(controlPort) {
      return new Promise((resolve, reject) => {
          controlPortsList(controlPort).then(res => {
              resolve(res.data)
          })
      })
  }
  // 取消分站信息提交
  function cancelClick() {
      // 显示分站详情
      if (state.datatreeId) {
          getponitCodeList(state.formData.stationCode)
          getdetailData(state.formData.stationCode)
          state.addShowTtation = false
          state.addShowPoint = false
          state.nodetailShowTtation = false
          state.addShowOpenShow = false
          state.addShowOpendetailShow = false
          state.detailShowTtation = true
          state.addShowdetailPoint = false
      }
  }

  // 新增分站信息提交
  function addClick() {
      proxy.$refs["formRef"].validate(valid => {
          if (valid) {
              delete state.formData.stationInNum
              delete state.formData.stationModelName
              if (state.datatreeId) {
                  state.formData.id = state.datatreeId
                  axios.post('/station/edit', state.formData).then(res => {
                      if (res.code == 200) {
                          proxy.$modal.msgSuccess(res.msg);
                          state.datatreeId = undefined
                          getsider()
                          // 显示分站详情
                          getponitCodeList(state.formData.stationCode)
                          getdetailData(state.formData.stationCode)
                          state.addShowTtation = false
                          state.addShowPoint = false
                          state.nodetailShowTtation = false
                          state.addShowOpenShow = false
                          state.addShowOpendetailShow = false
                          state.detailShowTtation = true
                          state.addShowdetailPoint = false
                      }
                  })
              } else {
                  axios.post('/station/add', state.formData).then(res => {
                      if (res.code == 200) {
                          proxy.$modal.msgSuccess(res.msg);
                          getsider()
                          // 显示分站详情
                          getponitCodeList(state.formData.stationCode)
                          getdetailData(state.formData.stationCode)
                          state.addShowTtation = false
                          state.addShowPoint = false
                          state.nodetailShowTtation = false
                          state.addShowOpenShow = false
                          state.addShowOpendetailShow = false
                          state.detailShowTtation = true
                          state.addShowdetailPoint = false
                      }
                  })
              }
          }
      })
  }
  // 获取左边树形
  function getsider(key) {
      let arr = []
      let children = []
      let children1 = []
      axios.get(`/station/sider`, {
          params: {
              key: key
          }
      }).then(res => {
          if (res.data.length > 0) {
              res.data.forEach(item => {
                  if (item.pointInfos) {
                      children = item.pointInfos.map(item1 => {
                          return {
                              label: item1.pointId + '/' + item1.sensorName + '/' +
                                  item1
                                  .pointPlaceName,
                              value: item1.pointId,
                              pointTypeName: item1.pointTypeName.substring(0, 2),
                              id: item1.pointId,
                          }
                      })
                  } else {
                      children = []
                  }
                  if (item.controlPorts) {
                      children1 = item.controlPorts.map(item1 => {
                          return {
                              label: '',
                              value: item1.pointId,
                              controlPort: item1.controlPort,
                              id: item1.pointId,
                              place: item1.pointTypeName,
                              controlPortType: item1.controlPortType,
                              controlPortTypeName: item1.controlPortTypeName,
                              pointPlaceName: item1.pointPlaceName
                          }
                      })
                  } else {
                      children1 = []
                  }
                  arr.push({
                      label: item.stationCode + '-' + item.stationPlaceName,
                      value: item.stationCode,
                      id: item.id,
                      type: 'fenzhan',
                      controlNum: item.controlNum,
                      totalNum: item.totalNum,
                      stationTypeId: item.stationTypeId,
                      children: [{
                          label: '测点',
                          value: 'nopoint',
                          id: 'nopoint',
                          children: children
                      }, {
                          label: '开出口',
                          value: 'noopen',
                          id: 'noopen',
                          children: children1
                      }]
                  })
              })
              // let jiedianid = []
              // state.curTreeId = arr[0].value
              // arr[0].children.forEach(item => {
              //     item.children.forEach(item1 => {
              //         jiedianid.push(item1.id)
              //     })
              // })
              // state.defaultExpandedNodes = jiedianid
              // getponitCodeList(arr[0].value)
              // getdetailData(arr[0].value)
              // state.addShowTtation = false
              // state.addShowPoint = false
              // state.nodetailShowTtation = false
              // state.addShowOpenShow = false
              // state.addShowOpendetailShow = false
              // state.detailShowTtation = true
              // state.addShowdetailPoint = false
              state.datatree = arr
          } else {
              state.datatree = res.data
          }
          nextTick(() => {
              if (state.curTreeId) {
                  pointtree.value.setCurrentKey(state.curTreeId)
              }
          })
      })
  }
  getsider()

  function filterNode(value, data) {
      if (!value) return true
      return data.label.includes(value)
  }
  // 左侧树形搜索框
  function treeSearchBlur(key) {
      getsider(state.treeSearch)
  }
  // 左侧树形点击事件
  function handleNodeClick(data, node) {
      let jiedianid = []
      if (data.type == 'fenzhan') {
          data.children.forEach(item => {
              item.children.forEach(item1 => {
                  jiedianid.push(item1.id)
              })
          })
          state.defaultExpandedNodes = jiedianid
      }

      state.datatreeId = data.id
      if (data.value != 'nopoint' || data.value != 'noopen') {
          state.datatreeCode = data.value
          state.formData1.stationCode = data.value
      }
      state.treestationTypeId = data.stationTypeId
      if (data.stationTypeId) {
          getponitCodeList(data.value)
          getdetailData(data.value)
          state.addShowTtation = false
          state.addShowPoint = false
          state.nodetailShowTtation = false
          state.addShowOpenShow = false
          state.addShowOpendetailShow = false
          state.detailShowTtation = true
          state.addShowdetailPoint = false
      } else if (data.controlPort) {
          state.formData2.stationCode = node.parent.parent.data.value
          state.formData2.controlPort = data.controlPort
          state.addShowTtation = false
          state.detailShowTtation = false
          state.nodetailShowTtation = false
          state.addShowPoint = false
          state.addShowOpenShow = false
          state.addShowdetailPoint = false
          if (data.controlPortType != null) {
              state.controlPortTypeId = data.controlPortType
              state.addShowOpendetailShow = true
              getopendetailData(data.controlPort, state.formData2.stationCode)
              state.controlSourceData.query.controlPointIds = data.id
              getcontrolSourceList()
          } else {
              state.addShowOpenShow = true
              state.addShowOpendetailShow = false
          }
      } else {

          if (data.value == 'nopoint' || data.value == 'noopen') {
              // state.addShowTtation = false
              // state.detailShowTtation = false
              // state.nodetailShowTtation = true
              // state.addShowPoint = false
              // state.addShowOpenShow = false
              // state.addShowOpendetailShow = false
              // state.addShowdetailPoint = false
              // state.cutValueListyou = false
          } else {
              state.formData1.stationCode = node.parent.data.value
              state.addShowTtation = false
              state.detailShowTtation = false
              state.nodetailShowTtation = false
              state.addShowPoint = false
              state.addShowOpenShow = false
              state.addShowOpendetailShow = false
              state.addShowdetailPoint = true
              state.editpointId = data.id
              state.editpontDis = true
              state.mulpointTypeName = node.data.pointTypeName
              getponitdetailData(data.id)
              state.cutValueListyou = true
          }
      }
  }
  // 查看分站详情
  function stationBtndesc(val) {
      getdetailData(val)
      state.addShowTtation = false
      state.addShowPoint = false
      state.nodetailShowTtation = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.detailShowTtation = true
      state.addShowdetailPoint = false
  }
  /**
   * 多参测点内容
   */
  function handleClick(val) {
      state.activeNamePoint = 1
  }

  // 传感器名称下拉事件
  function mulsensorIdChange(val) {
      state.mulsensorIdList.forEach(item => {
          if (item.id == val) {
              state.needPlaceType = item.needPlaceType
          }
      })
      if (val) {
          getlooksensorObj(val)
      }
  }
  // 查看传感器参数详情接口
  function getlooksensorObj(val) {
      axios.get('/sensor/multiple/detail?id=' + val).then(res => {
          state.looksensorObj = res.data
          let arr = []
          res.data.sensorList.forEach(item => {
              item.baohanD = formatCloud(item.sensorId)
              let obj = {
                  hasUpGrandAlarm: false,
                  hasDownGrandAlarm: false,
                  hasMoreGrandAlarm: false,
                  hasChangeGrandAlarm: false,
                  alarmBasic: {
                      alarmType: 0
                  },
                  prealarmBasic: {
                      hasPreAlarm: false,
                      hasConstantPreAlarm: false
                  },
                  upGrandalarmBasic: {
                      grandalarmRate: {},
                  },
                  downGrandalarmBasic: {
                      grandalarmRate: {},
                  },
                  cutArea: {},
                  cutValueList: [{
                      title: '断电配置',
                      name: '1',
                      cutStationList: [{}]
                  }],
              }
              item = Object.assign(item, obj);
              if (item.childIndexName != null) {
                  arr.push(item)
              }
          })
          state.mulactiveNamePoint = res.data.sensorList[0].sensorId
          state.formData1.multiplePointBranchList = arr
      })
  }

  // 测点tab切换--关联电源/其他配置/操作日志
  function ponitactiveNameTabClick(type) {
      state.activeNamePoint = type
      if (type == 3) {
          getcontrolPortsList(state.datatreeCode)
      }
  }
  // 获取分站详情接口
  function getdetailData(stationCode) {
      state.curTreeId = stationCode
      axios.get('/station/detail?stationCode=' + stationCode).then(res => {
          state.formData = res.data
          state.datatreeCode = res.data.stationCode
          state.datatreeId = res.data.id
      })
  }
  // 分站删除
  function deletetree(stationCode) {
      ElMessageBox.confirm(
              '确定要删除吗?',
              '温馨提示', {
                  confirmButtonText: '确定',
                  cancelButtonText: '取消',
                  type: 'warning',
              }
          )
          .then(() => {
              axios.post('/station/delete', [stationCode]).then(res => {
                  proxy.$modal.msgSuccess(res.msg);
                  getsider()
                  state.addShowTtation = false
                  state.detailShowTtation = false
                  state.nodetailShowTtation = true
                  state.addShowPoint = false
                  state.addShowOpenShow = false
                  state.addShowOpendetailShow = false
                  state.addShowdetailPoint = false
                  state.cutValueListyou = false
              })
          })
          .catch(() => {
              proxy.$modal.msgWarning('删除取消');
          })

  }
  // 编辑测点
  function editstationPointBtn(type, num) {
      state.activeNamePoint = num
      state.formData1.stationCode = state.formData1.stationCode
      state.addShowTtation = false
      state.detailShowTtation = false
      state.nodetailShowTtation = false
      state.addShowPoint = true
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = false
      state.editpointId = state.datatreeId
      getponitdetailData(state.datatreeId, num)
      state.cutValueListyou = false
  }
  // 测点删除
  function deletetreepoint(val) {
      ElMessageBox.confirm(
              '确定要删除吗?',
              '温馨提示', {
                  confirmButtonText: '确定',
                  cancelButtonText: '取消',
                  type: 'warning',
              }
          )
          .then(() => {
              axios.post('/point/delete?pointId=' + val).then(res => {
                  proxy.$modal.msgSuccess(res.msg);
                  getsider()
              })
          })
          .catch(() => {
              proxy.$modal.msgWarning('删除取消');
          })

  }
  // 新增测点
  function addtreePonit(id, stationCode) {
      state.activeNamePoint = 1
      getponitCodeList(stationCode)
      state.editpointId = undefined
      state.datatreeId = id
      state.datatreeCode = stationCode
      state.editpontDis = false
      state.addShowPoint = true
      state.addShowTtation = undefined
      state.nodetailShowTtation = false
      state.detailShowTtation = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = false
      state.formData1 = {
          stationCode: state.datatreeCode,
          isGasDrainage: false,
          gasDrainageGroupno: 1,
          calibration: {
              isCalibration: false
          },
          hasUpGrandAlarm: false,
          hasDownGrandAlarm: false,
          hasMoreGrandAlarm: false,
          hasChangeGrandAlarm: false,
          alarmBasic: {
              alarmType: 0
          },
          prealarmBasic: {
              hasPreAlarm: false,
              hasConstantPreAlarm: false
          },
          upGrandalarmBasic: {
              grandalarmRate: {},
          },
          downGrandalarmBasic: {
              grandalarmRate: {},
          },
          cutArea: {},
          cutValueList: [{
              title: '断电配置',
              name: '1',
              cutStationList: [{}]
          }],
          placeType: {}
      }
  }
  // 上限分级报警开关
  function hasUpGrandAlarmChange(val) {
      state.radio1 = '上限分级报警'
      if (!val) {
          state.radio1 = '下限分级报警'
      }
  }

  function hasDownGrandAlarmChange(val) {
      state.radio1 = '下限分级报警'
      if (!val) {
          state.radio1 = '上限分级报警'
      }
  }

  function delObj(obj, keys) {
      keys.map(function (key) {
          delete obj[key]
      })
      return obj
  }
  // 取消测点提交
  function cancelpointClick() {
      state.addShowTtation = false
      state.detailShowTtation = false
      state.nodetailShowTtation = false
      state.addShowPoint = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = true
  }
  // 新增测点提交
  function addpointClick() {
      proxy.$refs["formRef1"].validate(valid => {
          if (valid) {
              if (state.formData1.pointType == 1) {
                  let newarr = []
                  newarr = state.formData1.cutValueList
                  if (newarr != null) {
                      if (newarr.length > 0) {
                          newarr.forEach(item => {
                              item.cutStationList.forEach(item1 => {
                                  let arrr = []
                                  if (item1.controlPortList && item1.controlPortList.length >
                                      0) {
                                      item1.controlPortList.forEach(item2 => {
                                          if (item2.selected == true) {
                                              arrr.push(item2)
                                          }
                                      })
                                      item1.controlPortList = arrr
                                  }
                              })
                          })
                      }
                  }
                  state.formData1.pointId = state.editpointId
                  if (state.editpointId) {
                      axios.post(state.ponitEditUrl, state.formData1).then(res => {
                          if (res.code == 200) {
                              proxy.$modal.msgSuccess(res.msg);
                              getsider()
                              state.editpointId = undefined
                              state.addShowTtation = false
                              state.detailShowTtation = false
                              state.nodetailShowTtation = false
                              state.addShowPoint = false
                              state.addShowOpenShow = false
                              state.addShowOpendetailShow = false
                              state.addShowdetailPoint = true
                          }
                      })
                  } else {
                      axios.post(state.ponitAddUrl, state.formData1).then(res => {
                          if (res.code == 200) {
                              proxy.$modal.msgSuccess(res.msg);
                              getsider()
                              // state.editpointId = undefined
                              state.formData1.cutValueList = [{
                                  title: '断电配置',
                                  name: 1,
                                  cutStationList: [{}]
                              }]
                              state.addShowTtation = false
                              state.detailShowTtation = false
                              state.nodetailShowTtation = false
                              state.addShowPoint = false
                              state.addShowOpenShow = false
                              state.addShowOpendetailShow = false
                              state.addShowdetailPoint = true
                              getponitdetailData(state.formData1.stationCode + formatCloud(
                                  state
                                  .formData1.sensorId) + state.formData1.pointCode)
                          }
                      })
                  }
              }
              if (state.formData1.pointType == 2) {
                  state.formData1 = delObj(state.formData1,
                      ['hasUpGrandAlarm', 'hasDownGrandAlarm',
                          'hasMoreGrandAlarm', 'hasChangeGrandAlarm',
                          'alarmBasic', 'prealarmBasic', 'upGrandalarmBasic',
                          'downGrandalarmBasic', 'cutArea', 'cutValueList'
                      ])

                  state.formData1.pointId = state.editpointId
                  if (state.editpointId) {
                      axios.post('/point/editMultiple', state.formData1).then(res => {
                          if (res.code == 200) {
                              proxy.$modal.msgSuccess(res.msg);
                              getsider()
                              state.addShowTtation = false
                              state.detailShowTtation = false
                              state.nodetailShowTtation = false
                              state.addShowPoint = false
                              state.addShowOpenShow = false
                              state.addShowOpendetailShow = false
                              state.addShowdetailPoint = true
                              getponitdetailData(state.formData1.stationCode + 'M' + state.formData1
                                  .pointCode)
                          }
                      })
                  } else {
                      axios.post('/point/addMultiple', state.formData1).then(res => {
                          if (res.code == 200) {
                              proxy.$modal.msgSuccess(res.msg);
                              getsider()
                              state.addShowTtation = false
                              state.detailShowTtation = false
                              state.nodetailShowTtation = false
                              state.addShowPoint = false
                              state.addShowOpenShow = false
                              state.addShowOpendetailShow = false
                              state.addShowdetailPoint = true
                              getponitdetailData(state.formData1.stationCode + 'M' + state.formData1
                                  .pointCode)
                          }
                      })
                  }
              }
              if (state.formData1.pointType == 3) {
                  let newarr = []
                  newarr = state.formData1.cutValueList
                  if (newarr != null) {
                      if (newarr.length > 0) {
                          newarr.forEach(item => {
                              item.cutStationList.forEach(item1 => {
                                  let arrr = []
                                  if (item1.controlPortList && item1.controlPortList.length >
                                      0) {
                                      item1.controlPortList.forEach(item2 => {
                                          if (item2.selected == true) {
                                              arrr.push(item2)
                                          }
                                      })
                                      item1.controlPortList = arrr
                                  }
                              })
                          })
                      }
                  }
                  let arrr = []
                  state.expressionVoList.forEach(item => {
                      if (item.obj) {
                          arrr.push({
                              sensorId: item.obj.code,
                              pointName: item.value
                          })
                      }
                  })
                  state.formData1.pointIdList = arrr
                  state.formData1.pointId = state.editpointId
                  if (state.editpointId) {
                      axios.post('point/editVirtual', state.formData1).then(res => {
                          if (res.code == 200) {
                              proxy.$modal.msgSuccess(res.msg);
                              getsider()
                              state.editpointId = undefined
                              state.addShowTtation = false
                              state.detailShowTtation = false
                              state.nodetailShowTtation = false
                              state.addShowPoint = false
                              state.addShowOpenShow = false
                              state.addShowOpendetailShow = false
                              state.addShowdetailPoint = true
                              getponitdetailData(state.formData1.pointId)
                          }
                      })
                  } else {
                      axios.post('point/addVirtual', state.formData1).then(res => {
                          if (res.code == 200) {
                              proxy.$modal.msgSuccess(res.msg);
                              getsider()
                              state.formData1.cutValueList = [{
                                  title: '断电配置',
                                  name: 1,
                                  cutStationList: [{}]
                              }]
                              state.addShowTtation = false
                              state.detailShowTtation = false
                              state.nodetailShowTtation = false
                              state.addShowPoint = false
                              state.addShowOpenShow = false
                              state.addShowOpendetailShow = false
                              state.addShowdetailPoint = true
                              getponitdetailData(res.data)
                          }
                      })
                  }
              }
          }

      })
      getSelList()
  }
  // el-collapse-item阻止冒泡
  function stopCollapse(e) {
      return e.stopPropagation()
  }
  //获取普通测点详情数据
  function getponitdetailData(id, num) {
      const selectRowsId = []
      if (num) {
          state.activeNamePoint = num
      } else {
          state.activeNamePoint = 1
      }
      let ponitdetailUrl = state.ponitdetailUrl
      if (id) {
          if (id.includes("M")) {
              ponitdetailUrl = '/point/detailMultiple'
          } else if (id.includes("V")) {
              ponitdetailUrl = 'point/detailVirtual'
          } else {
              ponitdetailUrl = state.ponitdetailUrl
          }
      }
      let alarmtypeList = [{
          code: 0,
          name: '无'
      }]
      axios.get(ponitdetailUrl + `?pointId=` + id).then(res => {
          state.formData1 = res.data
          state.needPlaceType = state.formData1.needPlaceType
          state.baohanunit = state.formData1.sensorUnit
          state.curTreeId = state.formData1.pointId
          if (id.includes("M")) {
              state.formData1.sensorId = Number(state.formData1.sensorId)
              axios.get('/sensor/multiple/detail?id=' + state.formData1.sensorId).then(res => {
                  state.looksensorObj = res.data
              })
              let arr1 = state.formData1.multiplePointBranchList
              state.mulactiveNamePoint = arr1[0].sensorId
              arr1.forEach(
                  item => {
                      item.baohanD = formatCloud(item.sensorId)
                      if (item.cutValueList != null && item.cutValueList.length > 0) {
                          item.cutValueList.forEach((item11, index11) => {
                              item11.title = '断电配置'
                              item11.name = (Number(index11) + 1)
                              if (item11.cutStationList) {
                                  if (item11.cutStationList.length > 0) {
                                      item11.cutStationList.forEach(item3 => {
                                          if (item3.controlPortList) {
                                              if (item3.controlPortList.length > 0) {
                                                  let rrrr = []
                                                  item3.controlPortList.map(item4 => {
                                                      if (item4.selected ==
                                                          true) {
                                                          selectRowsId.push(
                                                              item4
                                                              .controlPort)
                                                          nextTick(() => {
                                                              checkboxConfig1
                                                                  .checkRowKeys =
                                                                  selectRowsId
                                                          })
                                                          rrrr.push(item4)
                                                      }
                                                      return rrrr
                                                  })
                                                  item3.controlPortList = rrrr
                                              }
                                          }
                                      })
                                  }
                              }
                          })
                      } else {
                          item.cutValueList = [{
                              name: 1,
                              cutStationList: [{}]
                          }]
                      }
                      if (item.cutArea != null) {
                          let areaIdList = item.cutArea.areaIdList.map(item3 => {
                              return Number(item3)
                          })
                          item.cutArea.areaIdList = areaIdList
                      } else {
                          item.cutArea = {
                              areaIdList: undefined,
                              cutValue: undefined,
                              resumeValue: undefined
                          }
                      }
                      if (item.upGrandalarmBasic == null) {
                          item.upGrandalarmBasic = {
                              grandalarmRate: {},
                          }
                      }
                      if (item.downGrandalarmBasic == null) {
                          item.downGrandalarmBasic = {
                              grandalarmRate: {},
                          }
                      }
                  })
              state.formData1.multiplePointBranchList = arr1
          } else {
              if (state.formData1.pointType == 3) {
                  getbiaodashiList(state.formData1.templateId)
                  if (state.formData1.pointId.includes('D')) {
                      state.baohanD = 'D'
                  }
              } else {
                  state.baohanD = formatCloud(state.formData1.sensorId)
              }
              if (state.formData1.cutArea && state.formData1.cutArea != null) {
                  if (state.formData1.cutArea.areaIdList) {
                      if (state.formData1.cutArea.areaIdList.length > 0) {
                          state.formData1.cutArea.areaIdList = state.formData1.cutArea.areaIdList.map(
                              item => {
                                  return Number(item)
                              })
                      }
                  }
              } else {
                  state.formData1.cutArea = {}
              }
              if (state.baohanD == 'D') {
                  if (state.formData1.highShow != null) {
                      alarmtypeList.push({
                          code: 1,
                          name: state.formData1.highShow
                      })
                  }
                  if (state.formData1.lowShow != null) {
                      alarmtypeList.push({
                          code: 2,
                          name: state.formData1.lowShow
                      })
                  }
                  state.alarmBasicList = alarmtypeList
              } else {
                  state.alarmBasicList = [{
                      code: 0,
                      name: '无'
                  }, {
                      code: 1,
                      name: '上限'
                  }, {
                      code: 2,
                      name: '下限'
                  }, {
                      code: 3,
                      name: '上下限'
                  }]
              }
              if (state.formData1.upGrandalarmBasic == null) {
                  state.formData1.upGrandalarmBasic = {
                      grandalarmRate: {
                          thresholdValue: '',
                          rateCycle: ''
                      }
                  }
              } else {
                  if (state.formData1.upGrandalarmBasic.grandalarmRate == null) {
                      state.formData1.upGrandalarmBasic.grandalarmRate = {
                          thresholdValue: ''
                      }
                      state.formData1.upGrandalarmBasic.grandalarmRate = {
                          rateCycle: ''
                      }
                  }
              }
              if (state.formData1.downGrandalarmBasic != null) {
                  if (state.formData1.downGrandalarmBasic.grandalarmRate == null) {
                      state.formData1.downGrandalarmBasic.grandalarmRate = {
                          thresholdValue: ''
                      }
                      state.formData1.downGrandalarmBasic.grandalarmRate = {
                          rateCycle: ''
                      }
                  }
              } else {
                  state.formData1.downGrandalarmBasic = {
                      grandalarmRate: {
                          thresholdValue: '',
                          rateCycle: ''
                      }
                  }
              }
              if (state.formData1.hasUpGrandAlarm) {
                  state.radio1 = '上限分级报警'
              }
              if (state.formData1.cutValueList != null) {
                  if (state.formData1.cutValueList.length > 0) {
                      if (state.cutValueListyou == true) {
                          let arr = []
                          state.formData1.cutValueList.forEach((item, index) => {
                              item.cutStationList.forEach(item2 => {
                                  item2.controlPortList.forEach(item3 => {
                                      if (item3.selected == true) {
                                          selectRowsId.push(item3.controlPort)
                                          nextTick(() => {
                                              checkboxConfig.checkRowKeys =
                                                  selectRowsId
                                          })
                                          item3.stationCode = item2.stationCode
                                          item3.stationPlaceName = item2
                                              .stationPlaceName
                                          arr.push(item3)
                                      }
                                  })
                                  item2.controlPortList = arr
                              })
                          })
                      } else {
                          state.formData1.cutValueList.forEach((item, index) => {
                              item.title = '断电配置'
                              item.name = (index + 1)
                          })
                      }
                  }
              } else {
                  state.formData1.cutValueList = [{
                      name: 1,
                      cutStationList: [{}]
                  }]
              }
          }
      })
  }
  // 删除测点
  function delpointClick() {
      axios.post(state.ponitDelUrl + `?pointId=` + state.editpointId).then(res => {
          proxy.$modal.msgSuccess(res.msg);
          getsider()
          state.addShowTtation = true
          state.addShowPoint = false
          state.nodetailShowTtation = false
          state.detailShowTtation = false
          state.addShowOpenShow = false
          state.addShowOpendetailShow = false
          state.formData = {
              isPlaceotherBreakfalg: false,
              isGasDrainage: false,
              isNetwork: false,
              noOldprotocolSensor: false,
              continuation: false,
              pointCutBroken: false
          }
      })
  }
  // 普通断电
  // 表格禁用状态
  const checkboxConfig1 = reactive({
      reserve: true,
      checkMethod: ({
          row
      }) => {
          return row.controlPortType != null
      }
  })
  const checkboxConfig = reactive({
      reserve: true,
      checkMethod: ({
          row
      }) => {
          return row.controlPortType != null
      }
  })

  // 表格选中事件
  function selectChangeEvent(e, val) {
      e.records.forEach(item => {
          item.selected = true
      })
  }

  function chuangantreeChange(data, node) {
      let alarmtypeList = [{
          code: 0,
          name: '无'
      }]
      let newdata = undefined
      data = proxy.$refs["cascaderValue"].getCheckedNodes()[0].data
      if (!data.data) {
          newdata = data
      } else {
          newdata = data.data
      }
      if (newdata) {
          state.needPlaceType = newdata.needPlaceType
          state.baohanunit = newdata.sensorUnit
          if (newdata.needGrandalarm || newdata.needGrandalarm != null) {
              state.formData1.needGrandalarm = newdata.needGrandalarm
          }
          state.scaleDown = newdata.scaleDown
          state.scaleUp = newdata.scaleUp
          state.formData1.alarmBasic.alarmType = newdata.alarmType
          state.formData1.alarmBasic.upAlarmValue = newdata.upAlarmValue
          state.formData1.alarmBasic.upRelieveValue = newdata.upRelieveValue
          state.formData1.alarmBasic.downAlarmValue = newdata.downAlarmValue
          state.formData1.alarmBasic.downRelieveValue = newdata.downRelieveValue
          if (newdata.sensorId && newdata.sensorId != null) {
              state.baohanD = formatCloud(newdata.sensorId)
              if (state.baohanD == 'D') {
                  if (newdata.highShow != null) {
                      alarmtypeList.push({
                          code: 1,
                          name: newdata.highShow
                      })
                  }
                  if (newdata.lowShow != null) {
                      alarmtypeList.push({
                          code: 2,
                          name: newdata.lowShow
                      })
                  }
                  state.alarmBasicList = alarmtypeList
                  state.cutTypeList = alarmtypeList
              } else {
                  state.alarmBasicList = [{
                      code: 0,
                      name: '无'
                  }, {
                      code: 1,
                      name: '上限'
                  }, {
                      code: 2,
                      name: '下限'
                  }, {
                      code: 3,
                      name: '上下限'
                  }]
                  state.cutTypeList = [{
                      code: 1,
                      name: '上限'
                  }, {
                      code: 2,
                      name: '下限'
                  }]
              }
          }
      }
  }

  function putongAddClick() {
      if (state.formData1.pointType == 1 || state.formData1.pointType == 3) {
          if (state.formData1.cutValueList == null) {
              state.formData1.cutValueList = []
          }
          state.formData1.cutValueList.push({
              title: '断电配置',
              name: 1,
              cutStationList: [{}]
          })
      }
      if (state.formData1.pointType == 2) {
          state.formData1.multiplePointBranchList.forEach(item => {
              if (state.mulactiveNamePoint == item.sensorId) {
                  if (item.cutValueList != null) {
                      item.cutValueList.push({
                          title: '断电配置',
                          name: 1,
                          cutStationList: [{}]
                      })
                  } else {
                      item.cutValueList = []
                      item.cutValueList.push({
                          title: '断电配置',
                          name: 1,
                          cutStationList: [{}]
                      })
                  }
              }
          })
      }
  }
  // 断电配置分站删除
  function fenzhankong(val) {
      if (state.formData1.pointType == 2) {
          state.formData1.multiplePointBranchList.forEach((item, index) => {
              if (state.mulactiveNamePoint == item.sensorId) {
                  item.cutValueList.forEach((item1, index1) => {
                      if (state.ordintranValue == index) {
                          item1.cutStationList.splice(val, 1)
                      }
                  })
              }
          })
      } else {
          state.formData1.cutValueList.forEach((item, index) => {
              if (state.ordintranValue == index) {
                  item.cutStationList.splice(val, 1)
              }
          })
      }
  }
  // 测点普通断电-配置按钮
  function pointputongConfigClick(row) {
      state.addModalconfig = true
      state.formDataconfig = row
      state.cutconfigIdTypereq = row.controlPortType
      state.formDataconfig.controlPort = row.controlPort
      state.formDataconfig.stationCode = row.stationCode
  }

  function pointputongConfigClick1(row) {
      state.addModalconfig1 = true
      state.formDataconfig1 = {}
      state.cutconfigIdTypereq = row.controlPortType
      state.formDataconfig1.controlPort = row.controlPort
      state.formDataconfig1.stationCode = row.stationCode
  }
  // 配置确定按钮
  function onSubmitConfigClick() {
      proxy.$refs['formRefconfig'].validate(valid => {
          if (valid) {
              if (state.cutconfigIdTypereq != null) {
                  axios.post('/controlPort/edit', state.formDataconfig).then(res => {
                      proxy.$modal.msgSuccess(res.msg);
                      getcutconfigId(state.cutconfigId, state.collapseAtive)
                      state.addModalconfig = false
                  })
              } else {
                  axios.post('/controlPort/add', state.formDataconfig).then(res => {
                      proxy.$modal.msgSuccess(res.msg);
                      getcutconfigId(state.cutconfigId, state.collapseAtive)
                      state.addModalconfig = false
                  })
              }
          }
      })
  }

  function onSubmitConfigClick1() {
      proxy.$refs['formRefconfig1'][0].validate(valid => {
          if (valid) {
              if (state.cutconfigIdTypereq != null) {
                  axios.post('/controlPort/edit', state.formDataconfig1).then(res => {
                      proxy.$modal.msgSuccess(res.msg);
                      getcutconfigId(state.cutconfigId, state.collapseAtive)
                      state.addModalconfig1 = false
                  })
              } else {
                  axios.post('/controlPort/add', state.formDataconfig1).then(res => {
                      proxy.$modal.msgSuccess(res.msg);
                      getcutconfigId(state.cutconfigId, state.collapseAtive)
                      state.addModalconfig1 = false
                  })
              }
          }
      })
  }
  // 配置取消按钮
  function cancelConfigClick() {
      state.addModalconfig = false
      state.addModalconfig1 = false
  }

  function removeTab(val) {
      if (state.formData1.pointType == 1) {
          if (val == 0) {} else {
              state.formData1.cutValueList.splice(val, 1)
          }
      }
      if (state.formData1.pointType == 2) {
          state.formData1.multiplePointBranchList.forEach(item => {
              if (state.mulactiveNamePoint == item.sensorId) {
                  item.cutValueList.splice(val, 1)
              }
          })
      }
  }

  function addcutdeviceClick() {
      if (state.formData1.pointType == 1) {
          state.formData1.cutValueList.forEach((item, index) => {
              if (state.ordintranValue == index) {
                  item.cutStationList.push({})
              }
          })
      }
      if (state.formData1.pointType == 2) {
          state.formData1.multiplePointBranchList.forEach(item => {
              if (state.mulactiveNamePoint == item.sensorId) {
                  item.cutValueList.forEach((item, index) => {
                      if (state.ordintranValue == index) {
                          item.cutStationList.push({})
                      }
                  })
              }
          })
      }
  }
  // 预报警全部详情
  function hasPreAlarmdescClick() {
      state.addModalhasPreAlarm = true
      getalldescList(state.hasPreAlarmData.query)
      getalldescselList()
  }

  function hasPreAlarmpagechange() {
      getalldescList(state.hasPreAlarmData.query)
  }

  function yubaojingConfigClick(row) {
      state.baohanD = formatCloud(row.deviceId)
      state.formData1.prealarmBasic.hasPreAlarm = true
      state.formData1.prealarmBasic.upPrealarmValue = row.upPrealarmValue
      state.formData1.prealarmBasic.downPrealarmValue = row.downPrealarmValue
      state.formData1.prealarmBasic.prealarmTimeout = row.prealarmTimeout
      state.addModalhasPreAlarm = false
  }
  // 恒值预报警全部详情
  function hasConstantPreAlarmdescClick() {
      state.addModalhasConstantPreAlarm = true
      getalldescList(state.hasConstantPreAlarmData.query)
      getalldescselList()
  }

  function hengbaojingConfigClick(row) {
      state.baohanD = formatCloud(row.deviceId)
      state.formData1.prealarmBasic.hasConstantPreAlarm = true
      state.formData1.prealarmBasic.constantTime = row.constantTime
      state.addModalhasConstantPreAlarm = false
  }
  // 全部详情列表数据
  function getalldescList(data) {
      axios.post('/point/preAlarmList', data).then(res => {
          state.hasPreAlarmData.tabledata = res.data.list
          state.hasConstantPreAlarmData.tabledata = res.data.list
          state.hasPreAlarmData.total = res.data.total
          state.hasConstantPreAlarmData.total = res.data.total
      })
  }
  // 全部详情下拉接口
  function getalldescselList() {
      axios.post('/point/queryAllName', {}).then(res => {
          state.hasPreAlarmData.selList = res.data
          state.hasConstantPreAlarmData.selList = res.data
      })
  }
  // 全部详情查询
  function yinyonClick() {
      getalldescList(state.hasPreAlarmData.query)
  }
  // 重置全部详情
  function cancelyinyonClick() {
      state.hasPreAlarmData.condition = ''
      state.hasPreAlarmData.query.condition = ''
      getalldescList(state.hasPreAlarmData.query)
  }
  // 全部详情查询
  function yinyonClick1() {
      getalldescList(state.hasConstantPreAlarmData.query)
  }
  // 重置全部详情
  function cancelyinyonClick1() {
      state.hasConstantPreAlarmData.condition = ''
      state.hasConstantPreAlarmData.query.condition = ''
      getalldescList(state.hasConstantPreAlarmData.query)
  }
  // 获取父级id
  function findParentArr(targetId, mock) {
      const ids = []

      function getParent(sources) {
          if (Array.isArray(sources)) {
              return sources.find(elm => {
                  let rs = getParent(elm)
                  if (rs) {
                      ids.push(elm.code)
                  }
                  return rs
              })
          }
          if (sources.code === targetId) {
              return true
          }
          if (Array.isArray(sources.children)) {
              return getParent(sources.children)
          }
      }
      getParent(mock)
      ids.reverse()
      return ids
  }

  function chuangantreeChange1(val) {
      let arr = findParentArr(val, state.hasPreAlarmData.selList)
      state.hasPreAlarmData.query.condition = arr.toString().replace(/,/g, '')
  }

  function chuangantreeChange2(val) {
      let arr = findParentArr(val, state.hasPreAlarmData.selList)
      state.hasConstantPreAlarmData.query.condition = arr.toString().replace(/,/g, '')
  }
  // 控制源列表
  function getcontrolSourceList() {
      axios.post('/point/controlList', state.controlSourceData.query).then(res => {
          state.controlSourceData.tabledata = res.data.list
          state.controlSourceData.total = res.data.total
      })
  }

  function controlSourceDatapagechange() {
      getcontrolSourceList()
  }
  // 断电模式下拉事件
  function cutTypeChange(val) {

  }
  // 开出口馈电测点下拉事件
  function feedPointIdChange(val) {
      state.feedPointIdList.forEach(item => {
          if (val == item.pointId) {
              state.formData2.pointPlaceName = item.pointPlaceName
          }
      })
  }
  // 开出口安装地点下拉事件
  function pointPlaceIdopenChange(val) {
      state.addressInfoList.forEach(item => {
          if (val == item.id) {
              state.formData2.pointPlaceName = item.placeName
          }
      })
  }
  // 开出口-控制设备下拉事件
  function controlPortTypeChange(val) {
      state.controlPortTypeList.forEach(item => {
          if (val == item.code) {
              state.formData2.controlPortTypeName = item.name
          }
      })
      if (val == 2) {
          state.formData2.feedPointId = undefined
      }
  }
  // 获取开出口详情
  function getopendetailData(id, stationCode) {
      axios.get('/controlPort/detail?controlPort=' + id + '&stationCode=' + stationCode).then(res => {
          state.formData2 = res.data
      })
  }
  // 新增开出口显示右侧按钮
  function addopenClickright(stationCode) {
      state.formData2 = {}
      state.formData2.stationCode = stationCode
      state.addShowTtation = false
      state.detailShowTtation = false
      state.nodetailShowTtation = false
      state.addShowPoint = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = false
      state.addShowOpenShow = true
  }
  // 编辑开出口详情
  function editopenBtn() {
      getopendetailData(state.formData2.controlPort, state.formData2.stationCode)
      state.addShowTtation = false
      state.detailShowTtation = false
      state.nodetailShowTtation = false
      state.addShowPoint = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = false
      state.addShowOpenShow = true
  }
  // 删除开出口
  function delopenClick(controlPort, stationCode) {
      ElMessageBox.confirm(
              '确定要删除吗?',
              '温馨提示', {
                  confirmButtonText: '确定',
                  cancelButtonText: '取消',
                  type: 'warning',
              }
          )
          .then(() => {
              axios.post('/controlPort/delete?controlPort=' + controlPort + '&stationCode=' +
                  stationCode).then(res => {
                  if (res.code == 200) {
                      proxy.$modal.msgSuccess(res.msg);
                      getsider()
                  }
              })
          })
          .catch(() => {
              proxy.$modal.msgWarning('删除取消');
          })

  }

  function cancelopenClick() {
      state.addShowTtation = false
      state.detailShowTtation = false
      state.nodetailShowTtation = false
      state.addShowPoint = false
      state.addShowOpendetailShow = false
      state.addShowdetailPoint = false
      state.addShowOpenShow = false
      state.addShowOpendetailShow = true
  }
  // 新增开出口提交
  function addopenClick() {
      proxy.$refs["formRef2"].validate(valid => {
          if (valid) {
              if (state.controlPortTypeId != null) {
                  axios.post('/controlPort/edit', state.formData2).then(res => {
                      if (res.code == 200) {
                          proxy.$modal.msgSuccess(res.msg);
                          getsider()
                          state.addShowTtation = false
                          state.detailShowTtation = false
                          state.nodetailShowTtation = false
                          state.addShowPoint = false
                          state.addShowOpendetailShow = false
                          state.addShowdetailPoint = false
                          state.addShowOpenShow = false
                          state.addShowOpendetailShow = true
                      }
                  })
              } else {
                  axios.post('/controlPort/add', state.formData2).then(res => {
                      if (res.code == 200) {
                          proxy.$modal.msgSuccess(res.msg);
                          getsider()
                          state.addShowTtation = false
                          state.detailShowTtation = false
                          state.nodetailShowTtation = false
                          state.addShowPoint = false
                          state.addShowOpendetailShow = false
                          state.addShowdetailPoint = false
                          state.addShowOpenShow = false
                          state.addShowOpendetailShow = true
                      }
                  })
              }
          }
      })
  }

  function mouseenter(data) {
      data.del = true
  }

  function mouseleave(data) {
      data.del = false
  }
  // 虚拟测点
  function getTemplateTreeListData() {
      getTemplateTreeList().then(res => {
          state.templateTreeList = res.data
      })
  }
  getTemplateTreeListData()

  function getpointIdsListData(data) {
      // getPointIdsList(data).then(res=>{
      //     state.pointIdsList=res.data
      // })
      return new Promise((resolve, reject) => {
          getPointIdsList({
              code: data
          }).then(res => {
              resolve(res.data)
          })
      })
  }

  function templateTreeChange(id) {
      getbiaodashiList(id)
      if (proxy.$refs["templateref"].getCheckedNodes()[0].pathLabels[0].includes('开关')) {
          state.baohanD = 'D'
      } else {
          state.baohanD = 'A'
      }
  }

  function getbiaodashiList(id) {
      let arr = []
      axios.get('/template/expression/getExpressionVo/' + id).then(res => {
          let expressionList = res.data.expressionList.map(item => {
              return {
                  value: item,
                  obj: undefined
              }
          })
          for (let i = 0; i < expressionList.length; i++) {
              Object.keys(res.data.templateNodeMap).map(async item => {
                  if (expressionList[i].value == item) {
                      if (state.formData1.virtualPointMap) {
                          if (state.formData1.virtualPointMap != null) {
                              expressionList[i].value = state.formData1.virtualPointMap[item]
                                  .pointName
                              expressionList[i].obj = state.formData1.virtualPointMap[item]
                              expressionList[i].obj.code = state.formData1.virtualPointMap[item]
                                  .sensorId
                              let codeList = await getpointIdsListData(state.formData1
                                  .virtualPointMap[item]
                                  .sensorId)
                              expressionList[i].obj.codeList = codeList
                          }
                      } else {
                          expressionList[i].value = null
                          expressionList[i].value1 = res.data.templateNodeMap[item]
                              .name
                          expressionList[i].obj = res.data.templateNodeMap[item]
                          let codeList = await getpointIdsListData(res.data.templateNodeMap[item]
                              .code)
                          expressionList[i].obj.codeList = codeList
                      }
                  }
              })
          }
          state.expressionVoList = expressionList
      })
  }

  function pointTypeChange(val) {
      state.formData1.sensorId = undefined
      if (val != 3) {
          state.expressionVoList = []
      }
  }
  // 新增公式模版
  function addtemplateClick() {
      state.addtemModal = true
  }

  function mobanTypeChange(val) {
      state.mobanType = val
  }

  function addtemModalcancel() {
      state.addtemModal = false
  }
</script>
<style lang="scss" scoped>
  .myValue {
      color: rgba(0, 186, 173, 1);
  }

  .title_r_box {
      padding-top: 1px;
      position: sticky;
      z-index: 3;
      top: 0px;
      background: #fff;
  }

  ::v-deep .el-button>span {
      margin-top: -2px;
  }

  ::v-deep .el-select__tags span {
      white-space: normal;
  }

  ::v-deep .el-tabs__nav-wrap::after {
      width: 0;
  }

  .custom-tree-node {
      padding-left: 20px;
      margin-left: -20px;
      z-index: 1;

      .deleteIcon {
          margin-right: 20px;
      }

      &>span {
          overflow: hidden;
          white-space: nowrap;
          text-overflow: ellipsis;
      }
  }

  ::v-deep {
      .el-collapse-item__wrap {
          background-color: transparent;
      }

      .el-collapse-item__arrow:before {
          font-style: normal;
          content: "展开";
          font-size: 14px;
          color: #409eff;
          white-space: nowrap;
          font-weight: 700;
          position: absolute;
          right: 16px;
      }

      .el-collapse-item__arrow.is-active {
          transform: none;
      }

      .el-collapse-item__arrow.is-active::before {
          content: "收起";
          font-size: 14px;
          color: #409eff;
          white-space: nowrap;
          font-weight: 700;
          position: absolute;
          right: 16px;
      }
  }

  .collapseBoxdesc {
      .el-collapse {
          border-top: none;
      }

      ::v-deep .el-collapse-item__header {
          padding: 20px 0 10px 0;
          line-height: 18px;
          background-color: rgb(247, 247, 247);
          border-bottom: none;
      }
  }

  .collapseBox {
      text-align: left;

      p {
          padding: 4px 0;
          margin: 0;
          width: 100%;
          height: 26px;
      }

  }

  ::v-deep .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
      color: rgba(42, 130, 228, 1);
  }

  ::v-deep .el-tabs__header {
      margin-bottom: 0;
  }

  .detailcollapse {
      .el-collapse {
          border-top: none;
      }

      ::v-deep .el-collapse-item__header {
          padding: 10px 0;
          line-height: 18px;
          background-color: rgb(247, 247, 247);
          border-bottom: none;
      }
  }

  ::v-deep .putongClass .el-tabs__item {
      width: 130px;
      height: 34px;

      &:hover {

          .el-icon {
              position: relative;
              height: 20px !important;
              width: 20px !important;

              &:after {
                  position: absolute;
                  content: url('@/assets/icons/svg/delkong.svg');
                  top: 2px;
                  left: 50%;
                  transform: translateX(-50%);
              }
          }
      }


      .el-icon svg {
          display: none;

      }
  }

  .b {
      display: inline-block;
      border-radius: 2px;
      padding: 0px 2px;
      margin-right: 4px;
  }

  .grey {
      padding: 0px 10px;
      color: rgba(184, 184, 184, 1);
      background: rgba(184, 184, 184, 0.1);
      border: 1px solid rgba(184, 184, 184, 0.87);
  }

  .blue {
      color: rgba(42, 130, 228, 1);
      background: rgba(42, 130, 228, 0.1);
      border: 1px solid rgba(42, 130, 228, 0.87);
  }

  .red {
      color: rgba(172, 51, 193, 1);
      background: rgba(172, 51, 193, 0.1);
      border: 1px solid rgba(172, 51, 193, 0.87);
  }

  .zi {
      color: rgba(121, 72, 234, 1);
      background: rgba(121, 72, 234, 0.1);
      border: 1px solid rgba(121, 72, 234, 0.87);
  }

  .pagestyle {
      padding: 10px;
  }

  .p_btn {
      display: flex;
      justify-content: flex-end;
      margin-bottom: 4px;
  }

  .formBox {
      border: 1px solid rgba(247, 247, 247, 1);
      padding-bottom: 10px;
  }

  .title_r {
      border-radius: 4px 4px 0 0;
      padding: 15px 10px;
      font-size: 14px;
      color: rgba(52, 76, 107, 0.6);
      background-color: rgba(247, 247, 247, 1);
      margin: 0;

      span {
          margin-right: 10px;

          &.active {
              color: rgba(64, 158, 255, 1);
              position: relative;

              &::before {
                  position: absolute;
                  content: '';
                  left: 50%;
                  transform: translateX(-50%);
                  bottom: -15px;
                  width: 100%;
                  height: 2px;
                  background-color: rgba(64, 158, 255, 1);
              }
          }
      }
  }

  .desc_box {
      padding: 10px;
      background: rgba(91, 109, 128, 0.04);
      margin: 10px 10px 0;
  }

  .footer_card {
      margin-top: 20px;

      .btn {
          margin: 0 5px;
      }
  }

  .activeNameTab {
      color: #333;
      font-size: 14px;
      font-weight: 700;
      padding: 0 10px;

      .span1,
      .span {
          position: relative;
          margin-right: 20px;
          cursor: pointer;

          &.span1 {
              margin-right: 0;
              padding: 8px 20px;
              border-radius: 4px 4px 0 0;
          }

          &.active {
              position: relative;

              &::before {
                  position: absolute;
                  content: '';
                  left: 50%;
                  bottom: -10px;
                  width: 56px;
                  height: 2px;
                  background-color: rgba(64, 158, 255, 1);
                  transform: translate(-50%, -50%);

              }
          }

          &.active1 {
              border-radius: 4px 4px, 0px, 0px;
              background: linear-gradient(180deg, rgba(91, 109, 128, 0.12) 0%, rgba(91, 109, 128, 0.04) 100%);
          }
      }
  }

  :deep(.table_box>.fsc) {
      display: none;
  }

  :deep(.el-tabs--card>.el-tabs__header) {
      border-bottom: none;
  }

  :deep(.el-tabs--card>.el-tabs__header .el-tabs__nav) {
      border: none;

      .el-tabs__item {
          color: rgba(62, 70, 79, .6);
      }

      .el-tabs__item.is-active {
          color: #333;
          border-radius: 4px 4px, 0px, 0px;
          background: linear-gradient(180deg, rgba(91, 109, 128, 0.12) 0%, rgba(91, 109, 128, 0.04) 100%);
      }
  }
</style>